Lumen предотвратить дубликацию работы в очередиPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Lumen предотвратить дубликацию работы в очереди

Сообщение Anonymous »

Использование Lumen 8.2.3 Я пытаюсь отправить только уникальную работу в очередь. В приложении/консоли/ядре я отправил график в $ grade-> job (new myjob (), 'high')-> wayminute (); Это работает каждые минуты. Я добавил класс интерфейса SupbeUnique в классе MyJob Я даже добавил

Код: Выделить всё

public function uniqueId() {
return $this->process->id();
}
Когда моя задача Cron работает по расписанию PHP Artisan: запустите , это все еще создает несколько рабочи Вызывая проблемы. "Иногда вы можете убедиться, что только один экземпляр задания
в очереди в любой момент. .use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Throwable;

class myJob implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue, Queueable, SerializesModels;

private $process;

public function __construct($process){
$this->process=$process;
}
public function uniqueId() {
return $this->process->id();
}

public function handle()
{
//some code here
}

public function failed(Throwable $exception)
{
// Send user notification of failure, etc...
}
}
< /code>
не является способом предотвратить это? Спасибо

Подробнее здесь: https://stackoverflow.com/questions/721 ... in-a-queue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»