2016-10-04 42 views
1

如何在指定何时将数据插入数据库(日期和时间)的指定时间运行函数?Laravel在指定时间内运行函数

当我保存的数据2017年1月30日,该功能将在2017年1月30日,运行,

当我创建另一个数据2017年2月1日,则该功能将在2016年2月01日,运行太..

我尝试使用laravel调度,但它必须静态指定的时间,不是动态的,我需要动态的,所以我不能自定义我的日期设置..

我尝试使用laravel队列(工种),但它不没有日期设置..

+0

'我必须静态指定时间,而不是动态'你可以从数据库中读取valyes否? –

+0

@DanyalSandeelo如果我添加新的时间表? –

+0

你可以使用' - > cron('0 0 30 1 0 2017');' –

回答

0

使用Cron is一个基于Unix的计算机操作系统中基于时间的作业调度程序。

+0

有没有其他方法可以为laravel做一个动态调度系统? –

1

这是将在2017年1月30日上运行的代码。

//file path: app/Console/Kernel.php 
class Kernel extends ConsoleKernel { 

    //other code 

    protected function schedule(Schedule $schedule) { 
     $schedule->command('my_command') 
       ->withoutOverlapping() 
       ->cron('0 0 30 1 0 2017'); 
    } 
} 

2017年2月1日

->cron('0 0 1 2 0 2017')


参考:

+0

如果管理员在2016年2月11日添加新时间表,该怎么办?它需要再次更改内核? –

+0

是的,因为你希望它是静态的。然后它会是'0 0 12 11 2 0 2016' –

+0

好的,所以日程安排只能静态编码吗?不能日期时间从数据库 –