2017-02-19 51 views
2

我有一个Laravel 5.2应用程序,我现在正在使用调度程序每30分钟运行一次脚本。但我想知道如果可以从数据库中检索到这个时间,我希望管理员用户从网页配置那个时间,我有数据库中的字段。但我不确定调度程序是否可以从数据库更新那个时间,所以是可能的吗?从数据库配置Laravel调度程序的时间

而且,我设置好的: - > sendOutputTo( “在/ var/www/html等/ laravelProject /公/输出”)

保存在一个文件名为输出的输出,但它没有似乎是即使在执行cron时也是如此,我检查了cron日志文件,并且只显示没有安装MTA,但我不希望发送电子邮件,我只是想将输出保存在文件,所以,我在那里错过了什么?

回答

0

您可以使用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'时,我必须保存最后的执行时间,然后进行比较,并且我想要另一种方法来实现它 –