2014-09-25 3 views
0

Если у меня есть команда artisan и вы хотите запустить событие только один раз, возможно ли запустить его только в том случае, если HTTP начался в первый раз?Laravel - Как начать ремесленник автоматически только один раз?

Примечание: существует цикл while, поэтому он может быть выполнен как сценарий оболочки sh (не через браузер), например, команда exec() без возвращаемых данных.

Я нашел решение, используя posix_getpgrp(), и сравните с cache :: forever var. Если это не то же самое, что и событие вызова, и удалить навсегда кеш. В кэше Forever сохраняется даже перезапуск службы apache.

ответ

0

Найти решение. Используйте прослушиватель событий и проверьте, хранятся ли данные в сессии, а если нет, вызовите сценарий один раз, сохраните данные кэша, который вызывается. Если вы перезапустите apache или хотите заставить скрипт вызова изменить данные кэша.

Что вам нужно сочетать:

Cache

Events

0

Вы можете вызывать команды ремесленника из вашего приложения, используя

Artisan::call('your-command',array()); 

Например, чтобы создать схему, я бы иметь маршрут/создать-схему, то в методе я бы что-то вроде этого

public function createSchema() 
{ 
    Artisan::call('migrate:install'); 
    Artisan::call('migrate'); 
} 
+0

Но, как выполнить, если только один раз, когда первый раз приложение нагрузки? Вставить внутрь для запуска/каталога? –

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