Php Laravel 5.0调度命令(可能带有队列)

Php Laravel 5.0调度命令(可能带有队列),php,laravel,cron,command,queue,Php,Laravel,Cron,Command,Queue,我在理解Laravel5.0中的队列概念时遇到了一些困难。据我所知,队列存储由php artisan queue:listen命令或php artisan queue:work--daemon命令执行的命令列表 如果我错了,请纠正我,但是php artisan queue:listen只是等待队列中出现命令,然后执行它,对吗?那么相比之下,php artisan queue:work--daemon命令做什么呢?这个命令一次只能工作一个吗 无论如何,我希望完成的任务是。。。我想定期检查队列中是否

我在理解Laravel5.0中的队列概念时遇到了一些困难。据我所知,队列存储由
php artisan queue:listen
命令或
php artisan queue:work--daemon
命令执行的命令列表

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


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

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

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

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

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

我不建议像你描述的那样把它们结合起来。还要记住,如果你不想,工作可能会被推迟,然后尽快处理