PHP Exec and at command


PHP Exec and at command

我在通过php执行命令时遇到问题。当我启动此作业时,它会第一次运行,并在完成Run Logic后1分钟创建一个队列作业。排队的作业在指定时间运行,但在完成运行逻辑1分钟后不会创建新的作业队列,因此它将终止。

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

我做错了什么?感谢您的帮助。我想如果我使用"at"命令,我将能够在不重叠的情况下安排工作。

感谢

我想你是想写shell_exec('echo "/usr/local/bin/php -f task_queue.php" | at now + 1 minutes');吗?您得到的版本会立即重新运行。

您可以尝试

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