Задать вопрос
Morfeey
@Morfeey

Асинхронная работа laravel, что делаю не так?

Имеется некий список задач, которые повисли на кроне и запускают команды:
spoiler
foreach ($Sites as $site) {
            $EveryMethod = $site->frequency_of_removal;
            $schedule
                ->command(RemoverPositions::class, [$site->id])
                ->cron($EveryMethod);
        }


Сами команды по сути своей не особо то и нужны, но на рефакторинг времени пока нет. Так вот команды должны запускать работника, но этот работник должен работать асинхронно. На деле же он даже не добирается до handle метода:
handle команды
SiteRemoverPositions::dispatch($Site)->onQueue($Site->name);

работник SiteRemoverPositions
<?php

namespace App\Jobs;

use App\Console\Commands\RemovalPositions;
use App\Helpers\RemovalSiteHelper;
use App\Site;
use App\Test;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;

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

    private $site;

    /**
     * Create a new job instance.
     *
     * @param Site $site
     */
    public function __construct(Site $site)
    {
        (new Test(["value" => "constructor job"]))->save();
        $this->site = $site;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        (new Test(["value" => "handle job"]))->save();
        $Site = $this->site;
        (new RemovalSiteHelper($Site))
            ->removal();
    }
}



Сам работник попадает в очередь с указанным именем в базу данных, но вот что с ним делать дальше ??
  • Вопрос задан
  • 659 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Сам работник попадает в очередь с указанным именем в базу данных, но вот что с ним делать дальше ??

Наверно надо запустить очередь чтобы она обрабатывала джобы?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы