【问题标题】:In Laravel 5.3, how to get the Job ID after we dispatch a job to the job queue?在 Laravel 5.3 中,我们将作业分发到作业队列后如何获取作业 ID?
【发布时间】:2017-05-11 20:20:42
【问题描述】:

在 Laravel 5.3 中,在控制器中,我们可以像这样将作业分派到作业队列:

$job = (new JobClass())->onQueue('queuename');
dispatch($job);

在使用InteractsWithQueue trait 的Job 类中,在handle 函数中,我们可以这样获取Job ID:

$this->job->getJobId();

但是,我想在使用 dispatch($job) 后在我的控制器中获取作业 ID。

如何在控制器中获取 Job ID?

如果没有这个功能,我们可以扩展dispatch辅助函数来添加这个功能吗?

【问题讨论】:

    标签: laravel laravel-5 queue laravel-5.3


    【解决方案1】:

    dispatch() 函数将返回 Job id:

    $job = (new JobClass())->onQueue('queuename');
    $jobId = dispatch($job);
    
    dd($jobId);
    

    【讨论】:

    • 请问您如何搜索dispatch 函数的API 文档?我试图在https://laravel.com/api/5.3/ 中搜索它,但找不到它。这个函数的 URL 是什么?
    • vendor/laravel/framework/src/Illuminate/Foundation/helpers.php
    • @Baik Ho 在 laravel 5.5 中它受到保护,因此无法获取作业 ID 是我们可以在 laravel 控制器中获取作业 ID 的一种方式。 ?
    • @usama 查看我的回答:stackoverflow.com/questions/40329206/…
    猜你喜欢
    • 2018-03-28
    • 2017-03-12
    • 2022-08-20
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2020-01-02
    相关资源
    最近更新 更多