Ошибка " serialization of 'closure' is not allowed " при работе c Laravel в Job

У пользователей есть возможность скачивать файлы с сайта , но чтоб не забивать потоки использую Queue , но тут возникакет ошибка причину которой понять я не могу

так выглядит мой контроллер

public function exportList(Request $request)
{
    $criticalDate = date('d-m-Y', (strtotime(date('Y-m-d')) - (45 * 86400)));

    $validator = Validator::make($request->all(), [
        'from_date' => ['required', 'date', 'after:' . $criticalDate],
    ]);

    if ($validator->fails()) {
        return redirect()->back()->with('message', $validator->errors());
    }

    $filters = PaymentViewFilters::get();

    ExportJob::dispatch($request, $filters);

}

А это Job в котором по заданным фильтрам и данным из request создается файл для загрузки

class ExportJob implements ShouldQueue

{ use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

protected $request;
protected $filters;
/**
 * Create a new job instance.
 *
 * @return void
 */
public function __construct(Request $request, $filters)
{
    $this->request = $request;
    $this->filters = $filters;
}

/**
 * Execute the job.
 *
 * @return void
 */
public function handle()
{
    $isAdmin = perm('payments:list-all');
    $isAgent = perm('payments:list-agent');
    $isProvider = perm('payments:list-provider');
    $user = $this->request->user();

    $query = DB::table('payments_view')
        ->when($isAgent, function ($query) use ($user) {
            $query->where('agent_id', $user->agent_id);
        })
        ->when($isProvider, function ($query) use ($user) {
            $query->where('provider_id', $user->provider_id);
        });

    $query->select(
        'id',
        'agent_id',
        'agent_name',
        'provider_name',
        'service_name',
        'amount',
        'provider_amount',
        'status_id',
        'status_name',
        'agent_trans_id',
        'provider_payment_id',
        'account_id',
        'created_at'
    );

    $query = ControllerUtils::executeFilters($query, $this->filters);

    $exportData = $query->get()->toArray();

    $path = 'provider_payments/AllData';

    if ($this->request->from_date) {
        $path .= '_From-' . $this->request->from_date;
    }

    if ($this->request->to_date) {
        $path .= '_To-' . $this->request->to_date;
    }

    $path .= '.xlsx';

    Excel::store(new PaymentsExport($exportData), $path);
    $path = storage_path('app/' . $path);
    dump($path);
}

}

А это Stack Trace введите сюда описание изображения


Ответы (0 шт):