【问题标题】:Laravel retrive failed job id to attach to request for resubmissionLaravel 检索失败的作业 ID 以附加到重新提交请求
【发布时间】:2020-09-12 05:51:01
【问题描述】:

我有触发调度作业的服务器构建请求。这些请求可以在表中查看,您可以在其中查看每个服务器的作业状态。当作业失败时,我希望在可以按 ID 重新提交失败作业的列中有一个重新提交按钮。我遇到的问题是从给定作业的 failed_jobs 表中检索失败的作业 ID。我可以获取jobID,只是不确定如何获取失败的jobID。我有public function failed($exceiption) 但不知道如何在这里检索 id。一旦我有了它,我就可以完成剩下的。

【问题讨论】:

    标签: php laravel jobs


    【解决方案1】:

    您可以从队列过程中触发的Job Events 获取作业 ID。

    在你的应用服务提供者的启动方式中:

    public function boot()
    {
        Queue::failing(function (JobFailed $event) {
            // $event->connectionName
            // $event->job
            // $event->exception
        });
    }
    

    在那里你可以从$event->job获取ID属性。

    【讨论】:

    • 我从 Queue:failing 得到的唯一东西是 $event->connectionName 它吐出 database 其他所有东西都没有记录任何东西。
    • 为了澄清这个答案:$event->job->getJobId() 将在上述上下文中返回 Job id。现在,这将是 Job 的 id,而不是失败的 Job。
    【解决方案2】:

    似乎没有可靠的方法来获取失败作业的id,令人沮丧。

    但是,您可以通过在失败的作业本身中嵌入您尝试与失败的作业相关的任何数据来实现相同的目的:https://stackoverflow.com/a/63854705/1615077

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 2019-07-30
      • 2018-12-04
      • 1970-01-01
      相关资源
      最近更新 更多