2016-05-30 3 views
0

как я могу получить доступ к job id в laravel 5.2?
относительно this link я пробовал getJobId(), но не работает.laravel: получить идентификатор работы после извлечения

of the course, когда я получаю журнал, используя dd() thers является id, но, вероятно, его protected.so я не могу его получить.

#job: {#459 +"id": 233 +"queue": "offers" +"payload": "{"job":"Illuminate\\Queue\\[email protected]","data":....}" +"attempts": 50 +"reserved": 0 +"reserved_at": null +"available_at": 1464615540 +"created_at": 1464615540 }

+0

кажется, что нет никакого способа, кроме отправки PR в Laravel. [ссылка здесь] (https://github.com/laravel/framework/pull/13781) – alex

ответ

0
public function handle() 
{ 
    $jobid=$this->job->getJobId(); 
} 

вы можете получить идентификатор задания по этому методу

+0

при отпускании работы , будет создана новая запись о работе и, поскольку релиз не возвращает ничего, невозможно получить идентификатор доступа таким образом – alex

5

В L5.3 вы можете получить идентификатор задания Этот путь

в классе работы

<?php 

namespace App\Jobs; 

use App\Models\User; 
use Illuminate\Bus\Queueable; 
use Illuminate\Queue\SerializesModels; 
use Illuminate\Queue\InteractsWithQueue; 
use Illuminate\Contracts\Queue\ShouldQueue; 

class ParseUniversityData implements ShouldQueue 
{ 
    use InteractsWithQueue, Queueable, SerializesModels; 

    protected $user; 

    /** 
    * Create a new job instance. 
    * 
    * @param $userId 
    */ 
    public function __construct(User $user) 
    { 
     $this->user = $user; 
    } 
    /** 
    * Execute the job. 
    * 
    * @throws \Exception 
    * @return void 
    */ 
    public function handle() 
    { 
     $jobId = $this->job->getJobId(); // this how you can get job id 
    } 
} 

метод, в котором вы отправляете свою работу (в этом примере я использую действие meth спосо в моем контроллере)

public function someExampleAction(Request $request) 
    { 
     $requestData = $request->all(); 

     $job = (new someExampleJob(
      $requestData['property'], $user 
     )); 

     $jobId = dispatch($job); // this is variable job id 
    } 
+0

Привет, я не могу получить идентификатор в Laravel 5.5, потому что работа защищена, теперь вы можете сообщить нам, как мы можем получить идентификатор в контроллере laravel 5.5. – usama

Смежные вопросы