【问题标题】:Laravel: Schedule tasks using BeanstalkdLaravel:使用 Beanstalkd 安排任务
【发布时间】:2015-02-10 06:41:17
【问题描述】:

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

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

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

然而,关于 Laravel 的事情是每次收到请求时它都会启动整个应用程序。这意味着,每次有新请求进来时都会安排上述任务。这将导致创建无数的工作等待在午夜被解雇。

有没有办法解决这个问题?

【问题讨论】:

    标签: php laravel-4 jobs beanstalkd


    【解决方案1】:

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

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

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

    【讨论】:

    • 哈,太糟糕了。我想我会选择 crontab,而不是仅仅为一项工作添加一个新包。谢谢你的回答:)
    • 是的 - 如果只是一项工作,请使用 cron。但是一旦你开始拥有 3,4,5 份工作 - 它绝对值得转换......
    猜你喜欢
    • 2017-01-01
    • 2016-09-30
    • 2011-07-21
    • 1970-01-01
    • 2016-12-25
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多