【问题标题】:Laravel Queue:work running forever in host?Laravel 队列:在主机中永远运行的工作?
【发布时间】:2018-04-20 11:54:43
【问题描述】:

我有一个关于 Laravel 队列的问题。 首先我的队列驱动程序是数据库,如果我曾经使用命令 queue:work 调用 cron 作业,队列将永远工作吗?或者我必须定义一个每分钟运行一次的 cron 作业?

【问题讨论】:

  • 检查你的 laravel.log 文件,你的工作肯定有一些错误..
  • @ankitpatel 我的问题是关于 cron 工作的。我需要设置一个 cron 来调用 queue:work 每分钟?或每年打电话完成

标签: laravel laravel-scheduler


【解决方案1】:

您需要在 Console/Kernel.php 文件的 Schedule 函数中设置每分钟的命令或队列

命令:

$schedule->command('your-command')->everyMinute();

工作:

$schedule->job(new JOBCLASS)->everyMinute();

那你需要输入

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

在服务器上的 crontab 文件中检查内核文件中的每一分钟以检查是否设置了任何命令

【讨论】:

  • **** php /path artisan queue:work 和 **** php /path sheduler:run 有什么区别?
  • @MortezaNegahi 队列和调度器是完全不同的东西!阅读文档!
  • 但是 sheduler:run 运行我的工作和 queue:work 也运行它!我不能有这种不同的感觉,谢谢你的大力帮助:-)
  • 您需要设置调度程序来运行您的作业。我上面提到的答案会将您的所有作业设置在数据库作业表中。调度程序将每分钟检查作业表中是否有任何条目
  • 一旦你设置了调度器,你就不需要运行 schedule:run
猜你喜欢
  • 2018-10-20
  • 2015-02-12
  • 1970-01-01
  • 2018-06-05
  • 2019-11-28
  • 1970-01-01
  • 1970-01-01
  • 2014-04-25
  • 2016-09-09
相关资源
最近更新 更多