2016-07-21 5 views
1

Как только у меня есть метод команды, this one, можно сохранить эту кодовую запись навсегда?Laravel 5.2 запускать команду как daemon/forever

До сих пор у меня есть Аякс, который призывает к

\Artisan::queue('socket:start'); 

«сокет: начало» является моей командой.

Это действительно работает, но только на 30 секунд. После этого мой процесс умирает.

Я пытался работать как процесс демона, as laravel documentation says, но не повезло.

Как я могу дать пользователю возможность запустить мою команду и сохранить ее в фоновом режиме навсегда?

+0

Вы проверили журналы из процесса? –

+0

Nop. Где я их найду? В config/queue.php нет места для журнала. Просто что-то о таблице «failed_jobs», которую у меня нет в моем DB ^^ « –

+0

Я имею в виду ваш сервер сокетов ... Это просто команда, запускающая его. Что говорят журналы серверов сокетов? –

ответ

1

Вы столкнулись с этой проблемой, потому что версия Apache PHP имеет тайм-аут. По умолчанию версия CLI не делает, так что вы можете использовать exec() функцию РНР для выполнения команды мастеровых, который должен работать:

exec('php artisan socket:start'); 

Как обычно, используйте это только, если вы точно знаете, что происходит в exec().

+0

In производства, было бы лучше настроить программное обеспечение, такое как супервизор, чтобы убедиться, что команда запускает f или даже в случае таких событий, как перезагрузка, внезапный отказ команды, возможно, из-за ошибки времени выполнения – Naveed

Смежные вопросы