gpt4 book ai didi

php - Laravel 5.8 如何获取职位 ID?

转载 作者:行者123 更新时间:2023-12-02 05:30:01 26 4
gpt4 key购买 nike

我正在尝试在我的工作中获取工作 ID。我尝试 $this->job->getJobId() 但它返回一个空字符串。

<?php

namespace App\Jobs\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Auth;

class SendNotification implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

public function __construct($notification, $fireShutdown)
{
$this->notification = $notification;
$this->fireShutdown = $fireShutdown;
}

public function handle()
{
dd($this->job->getJobId());

// Some Code
}
}

最佳答案

以下内容将允许您获取作业 ID。尝试复制下面的代码并使用简单的路由来调度它。

class TestJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

/**
* Execute the job.
*
* @return void
*/
public function handle()
{
echo $this->job->getJobId();
}
}

以及以下路线来测试它。

Route::get('/trigger', function () {
dd(dispatch(new \App\Jobs\TestJob()));
});

在您的终端中,您现在应该看到以下内容,以及给定作业的 ID。

Terminal returning the job id

如果您的队列监听器未运行,您可以通过在终端中键入以下内容来启动它

php artisan queue:work redis --tries=3

如果您尝试将 ID 返回到 Controller /路由,则无法使用异步/排队作业执行此操作,因为它是异步/排队的性质。

关于php - Laravel 5.8 如何获取职位 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55964062/

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