我想使用队列作业按时间更新数据,创建到数据库。
例子。我有job_history桌
我将按状态将多条记录插入job_history表(status =0 not )
我想通过队列(时间创建升序)处理状态=0的所有记录
(它是指在处理记录1完成(更新记录状态=1完成或在60年代超时)然后自动旁边的记录2,3.直到结束(更新status=1)
当我在job_history表中创建新记录时,队列总是侦听状态=0的继续句柄
我可以用=>来处理(但是cron作业每分钟只配置至少一次中断工作的=> ),如果记录1完成将继续2(而不是由cronjob占用1分钟)
我不知道laravel队列能做这个工作吗?以及如何设置它?
发布于 2020-04-28 06:07:20
在生产中,为了使用队列作业,您可以使用主管。
您可以阅读以下文档:https://laravel.com/docs/7.x/queues#supervisor-configuration
发布于 2020-04-28 10:59:15
只要队列中有要执行的任务,queue:work
就会按顺序一次处理一个作业。你不需要做任何特别的事情来达到你的要求。
此外,您不需要(严格地)一个主管来运行队列,可以使用cron和一个相对简单的脚本来检查工作人员是否正在运行,并根据需要启动或重新启动队列。
发布于 2022-03-11 01:06:31
是的,您可以通过执行以下命令来处理这种情况:
queue:work --stop-when-empty
对于cron,它将每分钟检查队列是否为空。然后,它将执行队列中的所有现有作业。那就终止。
https://stackoverflow.com/questions/61482104
复制相似问题