windows使用laravel计划任务

目录

前言

问题

解决方案

通过计划任务和批处理

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

总结


 

前言

  laravel的任务调度是很好用的,因为Laravel提供了平滑而又富有表现力地调度器,并且服务器上只需要一个Cron条目即可,这使我们从编写手动写crontab中解放出来,使得程序重新获得定时任务的控制权。 
但是,我们发现laravel的文档中只提供了linux/unix下的解决方案,但是我们大多数时候本地开发环境都是在windows下搭建的,所以,我们需要解决这些问题。


问题

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

  1. windows下,怎么使用laravel任务调度? 
  2. windows的计划任务能否替代crontab的工作? 
  3. 如何更好的使用windows的计划任务和laravel搭档?


解决方案

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

通过计划任务和批处理

  这也是大家用到最多的方式了,stackoverflow一大半的回答都是这个。 
  1. 首先右键->新建->文本文档,任何位置都可以。 
  图片教程1
  2. 将如下代码拷贝进去。第一行的意思是进去到项目目录,第二行语句是执行artisan命令

cd /d E:\\WWW\laravel\
php artisan schedule:run 1>> NUL 2>&1
  • 1
  • 2

  这里写图片描述 
  3. 然后另存为.bat的文件就好啦,名字随意,后缀.bat。 
  这里写图片描述
  4.然后就是创建计划任务,步骤图片如下所示,填写红框区域就好了 
  这里写图片描述 
  这里写图片描述 
  这里写图片描述 
  这里写图片描述 
  这个时候就会去调用laravel的任务调度了(前提是你已经在laravel里面编写好了任务调度),但是我们会发现,没过一分钟,都会有个dos命令的黑框弹出来,然后运行完了之后再关闭,这样会分散我们的注意力,于是就有了改进方案,请看方案二。 
  

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

  前提是,你已经做完了第一步所有操作,会发现dos会自动弹出来执行程序,一分钟一次(下图所示),人都会逼疯,所以有了此方案。 
这里写图片描述
  1. 首先你已经做完了解决方案第一部分的所有操作 
  2. 在任何位置(只要你记得),新建一个文本文档,然后编辑如下代码进去,最后另存为.vbs文件

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

  这里写图片描述 
  3.回到解决方案第一部分的第4步骤,编辑计划任务,将操作里面打开程序,从.bat脚本换成.vbs文件,步骤如下 
  这里写图片描述
  这里写图片描述 
  这里写图片描述
  这个时候,你会发现,你的计划程序任然在进行,但是再也看不到烦人的dos窗口啦,这样也就实现了linux下的crontab的功能啦。


总结

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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值