您的位置:首页 > 编程语言 > PHP开发

laravel 在Windows 8.1的任务调度

2017-12-02 16:39 274 查看

关于laravel的任务调度

在以前,开发者需要为每一个需要调度的任务编写一个 Cron 条目,这是很让人头疼的事。你的任务调度不在源码控制中,你必须使用 SSH 登录到服务器然后添加这些 Cron 条目。

Laravel 命令调度器允许你流式而又不失优雅地在 Laravel 中定义命令调度,并且服务器上只需要一个 Cron 条目即可。任务调度定义在 app/Console/Kernel.php 文件的 schedule 方法中,该方法中已经包含了一个示例。

看文档是在Linux服务器上设置任务调度,假如在Windows下测试开发的话可以使用Windows的任务计划程序进行测试。

测试

这里使用bat批处理和laravel结合:

找到win8.1的控制面板\系统和安全\管理工具下的任务管理程序



创建基本任务,一直点下去,名称啥的自己设置就好,一直到这一步



程序和脚本,因为使用的是bat批处理,所以在电脑的任何位置,新建一个文件,后缀.bat;

打开编辑:

cd /d D:\\WWW\Api\
php artisan schedule:run 1>> NUL 2>&1


然后在你的laravel项目中用artisan命令新建一张数据表cron,字段设置id,cron就好。

在laravelapp/console的kernel.php中写调度代码:

protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')
//          ->hourly();
$schedule->call(function () {
DB::table('cron')->increment('cron');
})->everyMinute();
}


指定每分钟cron的值增加1

OK,开始测试,每分钟会有一个dos对话框弹出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息