【问题标题】:Dynamic Laravel Queue Connection动态 Laravel 队列连接
【发布时间】:2017-03-31 08:21:42
【问题描述】:

我的数据库中有一个“提案”表,每个提案的行都会在特定时间生成一个相册(适用于所有用户)。

我设置了一个队列来为每个相册生成一个队列,所以我在数据库的作业表中有一千个作业。

生成 1 个相册需要 4-10 秒,因为有一个算法过程。

我创建了8个提案,所以最后一个相册需要很长时间才能生成,有人可以为我解决吗?

有没有办法创建同时运行的多队列连接?假设我有 5 个提案,所以有 5 个队列连接,所以每个提案都有它的队列连接,因此生成过程将按时完成。

谢谢。

【问题讨论】:

  • 你有一个队列 connection (Redis/Beanstalkd/etc),但是你可以运行任意数量的队列workers。但是,您在服务器上运行您的工作人员,只需启动其中的 5 个左右,它们就会并行工作。您可以根据工作负载自动扩展它。但是请注意,这种方法当然需要更多的服务器能力,而不是一次只做一个。

标签: php laravel queue jobs


【解决方案1】:

文档中提到了Supervisor Configuration,示例配置有numprocs=8

在本例中,numprocs 指令将指示 Supervisor 运行 8 个 queue:work processes [...]

听起来您正在使用numprocs=1 运行,它只会运行一个队列工作器,因此一次只能处理一个作业。

【讨论】:

    猜你喜欢
    • 2016-04-27
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 2016-07-05
    • 2017-10-02
    • 1970-01-01
    相关资源
    最近更新 更多