2012-03-14 225 views
0

我遇到麻烦执行命令通过php。当我开始这项工作时,它会第一次运行,并在完成运行逻辑1分钟后创建一个队列作业。排队的作业在指定的时间运行,但它在完成运行逻辑1分钟后不会创建新的作业队列,因此它会死亡。PHP执行和在命令

伪逻辑是
//task_queue.php
if(we_have_tasks){
Run Logic
shell_exec('/usr/local/bin/php -f task_queue.php | at now + 1 minutes');
}

我在做什么错?任何帮助表示赞赏。我想如果我使用'at'命令,我将能够安排工作而不重叠。

感谢

+0

看到这一点。 http://stackoverflow.com/questions/4421020/use-php-to-create-edit-and-delete-crontab-jobs – Milap 2012-03-14 05:18:13

回答

0

我觉得你的意思写shell_exec('echo "/usr/local/bin/php -f task_queue.php" | at now + 1 minutes');没有?你得到的版本立即重新运行。

+0

这工作,感谢 – Huseyin 2012-03-15 14:37:33

+0

@hobbs我拿到“PAM失败:系统错误“错误回应。有什么意见吗? – 2018-02-24 18:16:18

0

您可以尝试

exec('php /usr/local/bin/php -f task_queue.php | at now + 1 minutes');