laravel Task Scheduling(任務(wù)調(diào)度)在windows下的使用詳解
前言
laravel的任務(wù)調(diào)度是很好用的,因?yàn)長(zhǎng)aravel提供了平滑而又富有表現(xiàn)力地調(diào)度器,并且服務(wù)器上只需要一個(gè)Cron條目即可,這使我們從編寫手動(dòng)寫crontab中解放出來,使得程序重新獲得定時(shí)任務(wù)的控制權(quán)。
但是,我們發(fā)現(xiàn)laravel的文檔中只提供了linux/unix下的解決方案,但是我們大多數(shù)時(shí)候本地開發(fā)環(huán)境都是在windows下搭建的,所以,我們需要解決這些問題。
問題
本篇博客主要是圍繞著如下幾個(gè)問題展開
1. windows下,怎么使用laravel任務(wù)調(diào)度?
2. windows的計(jì)劃任務(wù)能否替代crontab的工作?
3. 如何更好的使用windows的計(jì)劃任務(wù)和laravel搭檔?
解決方案
主要用到了windows任務(wù)計(jì)劃程序,bat批處理,vbs腳本,有興趣可以了解。
通過計(jì)劃任務(wù)和批處理
這也是大家用到最多的方式了,stackoverflow一大半的回答都是這個(gè)。
1. 首先右鍵->新建->文本文檔,任何位置都可以。
2. 將如下代碼拷貝進(jìn)去。第一行的意思是進(jìn)去到項(xiàng)目目錄,第二行語句是執(zhí)行artisan命令
cd /d E:\\WWW\laravel\
php artisan schedule:run 1>> NUL 2>&1
3. 然后另存為.bat的文件就好啦,名字隨意,后綴.bat。
4.然后就是創(chuàng)建計(jì)劃任務(wù),步驟圖片如下所示,填寫紅框區(qū)域就好了
這個(gè)時(shí)候就會(huì)去調(diào)用laravel的任務(wù)調(diào)度了(前提是你已經(jīng)在laravel里面編寫好了任務(wù)調(diào)度),但是我們會(huì)發(fā)現(xiàn),沒過一分鐘,都會(huì)有個(gè)dos命令的黑框彈出來,然后運(yùn)行完了之后再關(guān)閉,這樣會(huì)分散我們的注意力,于是就有了改進(jìn)方案,請(qǐng)看方案二。
通過vb腳本,實(shí)現(xiàn)自動(dòng)任務(wù)的靜默執(zhí)行
前提是,你已經(jīng)做完了第一步所有操作,會(huì)發(fā)現(xiàn)dos會(huì)自動(dòng)彈出來執(zhí)行程序,一分鐘一次(下圖所示),人都會(huì)逼瘋,所以有了此方案。
1. 首先你已經(jīng)做完了解決方案第一部分的所有操作
2. 在任何位置(只要你記得),新建一個(gè)文本文檔,然后編輯如下代碼進(jìn)去,最后另存為.vbs文件
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c E:\laravel.schedule.bat",vbhide
3.回到解決方案第一部分的第4步驟,編輯計(jì)劃任務(wù),將操作里面打開程序,從.bat腳本換成.vbs文件,步驟如下
這個(gè)時(shí)候,你會(huì)發(fā)現(xiàn),你的計(jì)劃程序任然在進(jìn)行,但是再也看不到煩人的dos窗口啦,這樣也就實(shí)現(xiàn)了linux下的crontab的功能啦。
總結(jié)
ok,弄這個(gè),包括測(cè)試,也花了不少時(shí)間,但是編程的樂趣不就是對(duì)未知的探索嗎? laravel確實(shí)是一個(gè)好的框架,接下來,我還會(huì)寫關(guān)于laravel郵件,隊(duì)列等博客。但是突然發(fā)現(xiàn)vb好像也挺有用處的,我有不少大膽的想法了
以上這篇laravel Task Scheduling(任務(wù)調(diào)度)在windows下的使用詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
PHP生成短網(wǎng)址的思路以及實(shí)現(xiàn)方法的詳解
今天小編就為大家分享一篇關(guān)于PHP生成短網(wǎng)址的思路以及實(shí)現(xiàn)方法的詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03Django中datetime的處理方法(strftime/strptime)
這篇文章主要介紹了Django中datetime的處理方式(strftime/strptime),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07php中curl和soap方式請(qǐng)求服務(wù)超時(shí)問題的解決
本篇文章主要介紹了php中curl和soap方式請(qǐng)求服務(wù)超時(shí)問題的解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06eWebEditor v3.8 商業(yè)完整版 (PHP)
eWebEditor v3.8 商業(yè)完整版 (PHP)...2006-12-12Laravel框架實(shí)現(xiàn)多個(gè)視圖共享相同數(shù)據(jù)的方法詳解
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)多個(gè)視圖共享相同數(shù)據(jù)的方法,涉及Laravel框架視圖與控制器數(shù)據(jù)調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-07-07php opendir()列出目錄下所有文件的實(shí)例代碼
這篇文章主要介紹了php opendir()列出目錄下所有文件的實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10PHP中的socket_read和socket_recv區(qū)別詳解
這篇文章主要介紹了PHP中的socket_read和socket_recv區(qū)別詳解,本文從源碼上分析了這兩個(gè)函數(shù)的不同之處,需要的朋友可以參考下2015-02-02全世界最小的php網(wǎng)頁(yè)木馬一枚 附PHP木馬的防范方法
php網(wǎng)頁(yè)木馬代碼,大家可以看下自己的網(wǎng)站里面是不是有這樣的代碼,注意網(wǎng)站安全用mcafee限制w3wp.exe生成php或者asp文件。并在php.ini中設(shè)置一下。2009-10-10Yii2框架中使用PHPExcel導(dǎo)出Excel文件的示例
本篇文章主要介紹了Yii2框架中使用PHPExcel導(dǎo)出Excel文件的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08