1

我有一个维护单个进程的 Laravel Horizo​​n 主管配置。但是,我不能让这个过程一次只运行一项工作。这个的配置

'long-running-supervisor' => [
       'connection' => 'redis-long-running',
       'queue' => ['default_long'],
       'balance' => 'simple',
       'processes' => 1,
       'tries' => 1,
       'timeout' => 720
 ],

然而,这个 default_long 进程同时重叠作业,而不是等待一个完成后再开始另一个。

地平线输出(为简洁而编辑)

WaistPredictionJob 8039
Queue: default_long | Tags: App\Prediction:620  2020-10-17 19:49:45     29.20s  

WaistPredictionJob 8049
Queue: default_long | Tags: App\Prediction:621  2020-10-17 19:50:11     29.08s

PredictionCompleted 8051
Queue: default | Tags: App\Prediction:620   2020-10-17 19:50:16     0.03s

WaistPredictionJob 8054
Queue: default_long | Tags: App\Prediction:622  2020-10-17 19:50:17     25.77s  

PredictionCompleted 8064
Queue: default | Tags: App\Prediction:621   2020-10-17 19:50:46     0.16s

PredictionCompleted 8074
Queue: default | Tags: App\Prediction:622   2020-10-17 19:51:11     0.03s
4

1 回答 1

0

我已经想通了。

我错误地认为时间戳是作业完成的时间,而实际上它们代表的是作业排队的时间。

如果您查看PredictionCompleted作业的时间戳,您会注意到这些WaistPrediciton作业实际上是一个接一个地运行。

于 2020-10-19T02:16:11.410 回答