I want to process my script in background on Laravel.
My code:
File::findOrFail($id, ['id']);
try {
$process = new Process('php ../artisan api:get-products ' . $id);
$process->start();
} catch (\Exception $e) {
$log = new Logger('API');
$log->pushHandler(new StreamHandler(storage_path('logs') . '/api.log'));
$log->error('Error', ['error' => $e->getMessage()]);
return back()->withErrors('Ошибка при постановки скрипта в фон');
}
\Flash::success('Wait data');
return back();
On Laravel Homestead VM it works fine. But on production server background script doesn't work. It works only with run()
method.