lumen中使用调度任务

需要在crontab中增加一行
* * * * * php /projectroot/artisan schedule:run 1>> /var/log/schedule.log 2>&1


使用方式和laravel中一样,但由于luemn不支持artisan make:console,所以无法使用自定义的artisan命令。在larvel中创建并直接迁移过来则未测试过。

但可以在直接用call命令调用执行,如下,Reconciliation类是一个Job
$schedule->call(function () {
	$reconciliation = new Reconciliation();
	$reconciliation->handle();
})->name('Reconciliation')->when(function(){
	date_default_timezone_set('PRC');
	$hour = date("H", time());
	$minute = date("i", time());
	echo $hour . ',' . $minute . PHP_EOL;
	if(($hour == 2 || $hour == 8 || $hour ==  14 || $hour ==  20) && $minute == 13){
		return true;
	}
	return false;
})->withoutOverlapping();

猜你喜欢

转载自sensejw.iteye.com/blog/2293082