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 相关文章推荐
phpinfo 系统查看参数函数代码
Jun 05 PHP
php5 图片验证码实现代码
Dec 11 PHP
php实现mysql数据库连接操作及用户管理
Nov 08 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
php文件上传、下载和删除示例
Aug 28 PHP
解决php-fpm.service not found问题的办法
Jun 06 PHP
php实现小程序支付完整版
Oct 09 PHP
PHP hebrev()函数用法讲解
Feb 21 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
python中enumerate函数用法实例分析
2015/05/20 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
《陋室铭》教学反思
2014/02/26 职场文书
欠款起诉书范文
2015/05/19 职场文书
电台广播稿范文
2015/08/19 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS