Пакет добавляет возможность использовать очереди как в laravel, за исключением методов из трейта dispatchable:
dispatchIf
dispatchUnless
dispatchSync
dispatchNow
dispatchAfterResponse
dispatchAfterResponse
withChain
- php artisan package:installrequire ddaproduction/evocms-queue "*"
- php artisan vendor:publish --provider="EvolutionCMS\EvocmsQueue\EvocmsQueueServiceProvider"
- php artisan queue:table
- php artisan queue:failed-table
- php artisan migrate
Конфигурация находится в папке core/custom/config/queue.php
- Создать клас где вам удобно, например в пакете в папке jobs .
- Отналедоватся от EvolutionCMS\EvocmsQueue\AbstractJob. Пример:
<?php
namespace EvolutionCMS\Main\Jobs;
use EvolutionCMS\EvocmsQueue\AbstractJob;
use Illuminate\Queue\InteractsWithQueue;
class Foo extends AbstractJob
{
use InteractsWithQueue;
/**
* Execute the job.
*/
public function handle()
{
// do something
}
}$q = evo()->make('queue');
$q->push(new Foo());или
\Illuminate\Support\Facades\Queue::push(new \EvolutionCMS\Main\Jobs\Foo());