2011-10-05 33 views
1

我正在为我的symfony应用程序创建一个自动化过程,该应用程序被编写为symfony中的一个插件。在此插件中,我需要添加一个cron job.now即时添加它手动。我可以打开从symfony的cron选项卡,并写一些东西到cron选项卡???如果是这样的话 我只需运行一个任务并从cli添加cron作业。 任何建议,以完成此任务。我如何使用symfony任务编写cron作业

回答

0

我假设你知道如何从命令行执行它。从Symfony任务中,使用PHP标准中的函数passthru()调用系统命令。

PHP中的以下2个函数可能会有所帮助。

function mysystem($cmd) 
{ 
    passthru($cmd, $val); 
    if ($val != 0) 
    { 
    mydie("Command $cmd exited with nonzero exit status $val\n"); 
    } 
} 

// PHP's die() exits with a happy status, which is useless in scripts 
function mydie($s) 
{ 
    fwrite(STDERR, $s); 
    exit(1); 
} 

从脚本你会做类似于以下内容。

  • crontab -l | grep的-v “要添加的任务”> oldcrontab#删除 任何复制作业
  • 回声>> oldcrontab#添加新的工作
  • 的crontab oldcrontab#重载的crontab “您要添加计划任务”

只是使用相同的策略,但从PHP使用上述功能。这应该工作。