gpt4 book ai didi

Laravel 队列获取 "killed"

转载 作者:行者123 更新时间:2023-12-04 02:27:23 56 4
gpt4 key购买 nike

有时,当我将大型数据集发送到作业时,我的队列工作人员会突然退出。

// $taskmetas is an array with other arrays, each subsequent array having 90 properties.
$this->dispatch(new ProcessExcelData($excel_data, $taskmetas, $iteration, $storage_path));
ProcessExcelData作业类使用 box/spout 创建一个 excel 文件包。
  • 在第一个示例中 $taskmetas有 880 行 - 工作正常
  • 在第二个例子中 $taskmetas有 10,000 行 - 突然退出

  • 第一个示例 - 使用小数据集排队输出:
    forge@user:~/myapp.com$ php artisan queue:work --tries=1
    [2017-08-07 02:44:48] Processing: App\Jobs\ProcessExcelData
    [2017-08-07 02:44:48] Processed: App\Jobs\ProcessExcelData

    第二个例子 - 使用大数据集排队输出:
    forge@user:~/myapp.com$ php artisan queue:work --tries=1
    [2017-08-07 03:18:47] Processing: App\Jobs\ProcessExcelData
    Killed

    我没有收到任何错误消息,日志是空的,而且作业没有出现在 failed_jobs 中。表与其他错误一样。时间限制设置为 1 小时,内存限制设置为 2GB。

    为什么我的队列突然退出?

    最佳答案

    您可以尝试超时。
    例如。
    php 工匠队列:工作 --timeout=120

    默认情况下,超时时间为 60 秒,因此我们如上所述强制覆盖超时时间

    关于Laravel 队列获取 "killed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45539032/

    56 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com