【问题标题】:Laravel queue nested processesLaravel 队列嵌套进程
【发布时间】:2021-07-14 16:37:24
【问题描述】:

我想使用队列来上传文件。用户可以上传文件。每个文件将有大约 500 行。现在我要实现这个逻辑:

  • 最多可以同时处理 5 个文件。剩余的文件应该在队列中。
  • 每个文件应该有5个进程,所以5行将同时插入数据库。很快,最多将有 25 个 进程(每 5 个文件中有 5 个进程)。

现在我将所有文件添加到一个队列中。文件一一处理。很快,先到先出。第二个文件需要等待完成第一个文件。

我该如何实现呢?或者您有什么其他建议?

【问题讨论】:

    标签: laravel laravel-queue


    【解决方案1】:

    处理文件和将行插入数据库之间到底有什么区别?

    如果您想为同一个队列运行多个工作器,您可以简单地使用php artisan queue:work 启动更多工作器,并另外使用标志来指定队列--queue=process-files。见the documentation

    在生产环境中,考虑configure a supervisor 使用numprocs 指令在队列上运行特定数量的工作人员。

    我是否正确理解您希望每个用户运行 25 个队列工作程序?这似乎不对。相反,您应该考虑为快/慢作业创建队列。

    【讨论】:

      猜你喜欢
      • 2019-08-08
      • 2020-03-27
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      相关资源
      最近更新 更多