【问题标题】:Laravel 5.0 Scheduling Commands (Possibly with queues)Laravel 5.0 调度命令(可能带有队列)
【发布时间】:2015-08-09 22:55:39
【问题描述】:

我在掌握 laravel 5.0 中的队列概念时遇到了一些麻烦。据我了解,队列存储要由php artisan queue:listen 命令或php artisan queue:work --daemon 命令执行的命令列表。

如果我错了,请纠正我,但 php artisan queue:listen 只是等到队列中有命令然后执行它,对吗?那么php artisan queue:work --daemon 命令相比起什么作用呢?这个命令一次只能执行一个吗?

无论如何,我希望完成的任务是...我想定期检查队列中是否有命令以及是否希望执行它们。由于这是一个周期性问题,我假设会使用 chron,但我如何检查是否有未完成的命令?我会在我的队列表上运行查询吗?如果我这样做,我将如何发送命令?或者我应该只是 chron php artisan queue:listen 命令

【问题讨论】:

    标签: php laravel cron command queue


    【解决方案1】:

    queue:listen 和 queue:work 之间的主要区别在于,第二个只查看是否有作业在等待,然后接受并处理它。就是这样。

    侦听器虽然作为后台进程运行,但始终检查可用的作业。如果有新的工作,它就会被处理(这个过程稍微有点困难,但这是主要的想法)。

    所以基本上,如果您需要在命令(作业)出现时立即处理它们,您可能想要使用队列。

    如果您需要定期做某事(例如每 2 小时或每周一上午 9 点等),您应该使用 cron + Schedule。

    我不建议按照您的描述组合它们。另请记住,如果您不想,工作可能会延迟,然后尽快处理。

    【讨论】:

      猜你喜欢
      • 2016-07-10
      • 1970-01-01
      • 2019-09-02
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 2021-10-09
      • 1970-01-01
      相关资源
      最近更新 更多