Создал джобу:
php artisan make:job ActivityCalculateJob
Код самой джобы:
class ActivityCalculateJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
private Post $post;
public function __construct(Post $post)
{
$this->post = $post;
}
public function handle(): void
{
event(new ChangePostRatingEvent($this->post));
event(new ChangeUserRatingEvent($this->post->author));
}
}
В нужном месте в коде вызываю её:
ActivityCalculateJob::dispatch($post);
Получаю эксепшн:
include(E:\OSPanel\domains\project.ru): Failed to open stream: Permission denied
Stacktrace:
E:\OSPanel\domains\project.ru\vendor\laravel\framework\src\Illuminate\Foundation\Bootstrap\HandleExceptions.php:254
E:\OSPanel\domains\project.ru\vendor\composer\ClassLoader.php:576
E:\OSPanel\domains\project.ru\vendor\composer\ClassLoader.php:576
E:\OSPanel\domains\project.ru\vendor\composer\ClassLoader.php:427
E:\OSPanel\domains\project.ru\app\Services\PostsService.php:142
PostsService.php:142 - это как раз та строка, где вызывается джоба...
В env:
QUEUE_CONNECTION=database
Таблица для джоб в базе создана.