我在通过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');