Laravel:使用Beanstalkd安排任务


Laravel: Schedule tasks using Beanstalkd

我的目标是每天午夜安排并运行一项任务。我已经在应用程序中使用Beanstalkd进行其他调度。但是,每天在特定的时间做一份工作似乎有点困难。

我在global.php文件中安排每天00:00运行作业

Queue::later($secondsBeforeMidNight, $jobToFire, array('data' => $data));

然而,Laravel的特点是,每次收到请求时,它都会启动整个应用程序。这意味着,每次收到新的请求时,都会安排上述任务。这将导致在午夜产生无数等待解雇的工作。

有什么办法解决这个问题吗?

您应该为此使用cron,而不是Beanstalkd。

对于Laravel 4,最好的选择是使用Dispatcher软件包:https://github.com/Indatus/dispatcher

这将允许您安排特定的手工命令在不同的时间运行。