Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Для того чтобы удалить задание из очереди (согластно документации), нужно добавить в команду трейт Illuminate\Queue\InteractsWithQueue, который предоставляет методы delete и release.
Потом в методе handle самого Job можно удалить задачу. Тут все хорошо и верно работает.
Вопрос как удалить задачу из клаcса который $handler = new \App\Lib\NewClass(); ?
<?php
namespace App\Jobs;
use App\Jobs\Job;
use Illuminate\Contracts\Bus\SelfHandling;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Queue;
class MyJob extends Job implements SelfHandling, ShouldQueue
{
use InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
}
/**
* Execute the command.
*
* @return void
*/
public function handle()
{
$handler = new \App\Lib\Cashback\NewClass();
return;
}
public function failed()
{
Log::info("failed:", (array) $this->toArray());
}
}
class NewClass
{
protected $handlers = [];
public function setDelete()
{
$this->delete();
}
}
Те я хочу в класе NewContainer сделать $This->delete(), как мне это сделать, при условии что NewContainer я не хочу наследовать от Job клаcса.
Добавить
use InteractsWithQueue, Queueable, SerializesModels;
в NewClass не получится, так как в нем нету обекта класа Job, вариант наследовать мне не подходить. Возможно както можно получить объект класа Job??
Изменено s_vadim (21.07.2016 18:01:17)
Не в сети
Страницы 1