2017-02-19 14 views
2

У меня есть приложение Laravel 5.2, я использую планировщик для запуска скрипта каждые 30 минут. Но мне интересно, можно ли получить это время из базы данных, я хочу, чтобы пользователь-администратор настраивал это время с веб-страницы, у меня есть поле в базе данных. Но я не уверен, что планировщик может обновить это время из базы данных, так что это возможно?Настроить время планировщика Laravel из базы данных

Кроме того, я выставиться: -> sendOutputTo ("/ Var/WWW/HTML/laravelProject/открытый/выход")

сохранить вывод в файл с именем выхода, но это не кажется, что это работая даже при выполнении cron, я проверил файлы журнала cron и там только показывает, что MTA не установлен, но я не хочу, чтобы моменты отправляли сообщение по электронной почте, я просто хочу сохранить вывод в файл, так, что мне там не хватает?

ответ

0

Вы можете использовать when WHEN, метод может быть использован для ограничения выполнения задачи на основе результата проверки данной истины.

$schedule->command('yourcommand:execute')->everyMinutes()->when(function() { 
     if($timefromdb){ 
      return true; 
     } 
     else{ 
      return false; 
     } 

    }); 

https://laravel.com/docs/master/scheduling#schedule-frequency-options

+0

ммм, но в этом случае я должен контролировать время. В базе данных я хочу только сохранить: каждые «30 минут», «1 час» ... и т. Д. С 'when' мне нужно сохранить последнее время выполнения, а затем сравнить, и я хочу другой способ его достижения –