laravel Task Scheduling(任务调度)在windows下的使用详解


Posted in PHP onOctober 22, 2019

前言

laravel的任务调度是很好用的,因为Laravel提供了平滑而又富有表现力地调度器,并且服务器上只需要一个Cron条目即可,这使我们从编写手动写crontab中解放出来,使得程序重新获得定时任务的控制权。

但是,我们发现laravel的文档中只提供了linux/unix下的解决方案,但是我们大多数时候本地开发环境都是在windows下搭建的,所以,我们需要解决这些问题。

问题

本篇博客主要是围绕着如下几个问题展开

1. windows下,怎么使用laravel任务调度?

2. windows的计划任务能否替代crontab的工作?

3. 如何更好的使用windows的计划任务和laravel搭档?

解决方案

主要用到了windows任务计划程序,bat批处理,vbs脚本,有兴趣可以了解。

通过计划任务和批处理

这也是大家用到最多的方式了,stackoverflow一大半的回答都是这个。

1. 首先右键->新建->文本文档,任何位置都可以。

laravel Task Scheduling(任务调度)在windows下的使用详解

2. 将如下代码拷贝进去。第一行的意思是进去到项目目录,第二行语句是执行artisan命令

cd /d E:\\WWW\laravel\

php artisan schedule:run 1>> NUL 2>&1

laravel Task Scheduling(任务调度)在windows下的使用详解

3. 然后另存为.bat的文件就好啦,名字随意,后缀.bat。

laravel Task Scheduling(任务调度)在windows下的使用详解

4.然后就是创建计划任务,步骤图片如下所示,填写红框区域就好了

laravel Task Scheduling(任务调度)在windows下的使用详解

laravel Task Scheduling(任务调度)在windows下的使用详解

laravel Task Scheduling(任务调度)在windows下的使用详解

laravel Task Scheduling(任务调度)在windows下的使用详解

这个时候就会去调用laravel的任务调度了(前提是你已经在laravel里面编写好了任务调度),但是我们会发现,没过一分钟,都会有个dos命令的黑框弹出来,然后运行完了之后再关闭,这样会分散我们的注意力,于是就有了改进方案,请看方案二。

通过vb脚本,实现自动任务的静默执行

laravel Task Scheduling(任务调度)在windows下的使用详解

前提是,你已经做完了第一步所有操作,会发现dos会自动弹出来执行程序,一分钟一次(下图所示),人都会逼疯,所以有了此方案。

1. 首先你已经做完了解决方案第一部分的所有操作

2. 在任何位置(只要你记得),新建一个文本文档,然后编辑如下代码进去,最后另存为.vbs文件

Set ws = CreateObject("Wscript.Shell") 
ws.run "cmd /c E:\laravel.schedule.bat",vbhide

laravel Task Scheduling(任务调度)在windows下的使用详解

3.回到解决方案第一部分的第4步骤,编辑计划任务,将操作里面打开程序,从.bat脚本换成.vbs文件,步骤如下

laravel Task Scheduling(任务调度)在windows下的使用详解

laravel Task Scheduling(任务调度)在windows下的使用详解

laravel Task Scheduling(任务调度)在windows下的使用详解

这个时候,你会发现,你的计划程序任然在进行,但是再也看不到烦人的dos窗口啦,这样也就实现了linux下的crontab的功能啦。

总结

ok,弄这个,包括测试,也花了不少时间,但是编程的乐趣不就是对未知的探索吗? laravel确实是一个好的框架,接下来,我还会写关于laravel邮件,队列等博客。但是突然发现vb好像也挺有用处的,我有不少大胆的想法了

以上这篇laravel Task Scheduling(任务调度)在windows下的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP 身份验证方面的函数
Oct 11 PHP
分享一个PHP数据流应用的简单例子
Jun 01 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
May 10 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
php中的观察者模式简单实例
Jan 20 PHP
使用phpstorm和xdebug实现远程调试的方法
Dec 29 PHP
php+jQuery递归调用POST循环请求示例
Oct 14 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
php查询及多条件查询
Feb 26 PHP
PHP删除数组中特定元素的两种方法
Feb 28 PHP
PHP实现关键字搜索后描红功能示例
Jul 03 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
laravel 解决crontab不执行的问题
Oct 22 #PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 #PHP
在Laravel 中实现是否关注的示例
Oct 22 #PHP
Laravel 错误提示本地化的实现
Oct 22 #PHP
laravel 解决后端无法获取到前端Post过来的值问题
Oct 22 #PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
Oct 22 #PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 #PHP
You might like
PHP学习之PHP表达式
2006/10/09 PHP
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
Javascript & DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
python的Tqdm模块的使用
2018/01/10 Python
使用实现pandas读取csv文件指定的前几行
2018/04/20 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
春节联欢会主持词
2014/03/24 职场文书
产品质量承诺范本
2014/03/31 职场文书
投标担保书范文
2014/04/02 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
初中教师个人工作总结
2015/02/10 职场文书
基于Python实现股票收益率分析
2022/04/02 Python
MySQL 条件查询的常用操作
2022/04/28 MySQL