1. 程式人生 > >thinkphp 定時任務學習筆記

thinkphp 定時任務學習筆記

              由於專案需要用到爬蟲更新實時資料,所以要用到計劃任務。這裡正好學習了。廢話不多說,一起來看看這是怎麼回事

  因為windows的計劃任務只能執行指令碼,所以框架的寫法是不能以指令碼的形式執行的。那麼通過curl就可以做到。

              首先你得在專案檔案下(網站根目錄任何地方只要能用並且你覺得舒服)新建個.bat檔案。bat檔案得內容如下:      

程式碼如下: 

D:\php\php.exe -q D:\website\test.php  //相應目錄自己改上 

這是什麼意思?

首先php.exe是命令列模式,輸入q引數加上後面的具體檔案路徑的話,就說明訪問的是當前的指令碼程式。(詳細可以檢視php手冊)

然後,在建立一個指令碼程式,裡面的內容寫curl,用來模擬訪問你的框架,框架內容當然就是寫發起爬蟲的程式啦。

最後附上win的定時任務圖(win7和win10差別不大):

一、首先進行工作管理員設定  每隔1分鐘執行.BAT 檔案配置

首先Windows Server 2008不同於其他伺服器作業系統和Windows Server 2003有著很大的區別,計劃任務的名稱是“任務計劃程式”不在控制面板裡,而是在“管理工具”裡。

由於伺服器需要做些任務,定時執行,自己寫程式吧,麻煩,所以採用BAT進行代替操作,網路上很多人都在說每分鐘執行怎麼配置,今天我們就配置一下。

開啟“任務計劃程式”–點選“任務計劃程式庫”在右則會看到操作項裡有“建立基本任務”和“建立任務”如圖所示:

點選“建立任務”後如圖所示:填寫好相應的名稱和勾選好必要的條件

 

選擇“觸發器”選項,點選“新建”,建立任務執行時間,“重複任務間隔”這個選擇後,後面有時間選擇,是每小時,還是每分,可自己選擇後再修改時間,再確定。

 上面的1分鐘,預設是沒有的,你可以自己編輯修改哦 !!! 

再來配置需要執行的【操作】,就是選擇所寫的程式或是BAT檔案,這裡很重要的配置是選擇BAT檔案後,在“起始於(可選)”這裡一定要填寫相應執行程式或是BAT檔案的所在目錄,要不然是執行不成功的。

 

新增後,列表欄中會出現新增的計劃任務。

二、.BAT 執行PHP指令碼的寫法

新建Bat檔案,命名為test.bat,內容如下所示: 

程式碼如下: 

D:\php\php.exe -q D:\website\test.php  //相應目錄自己改上 

咱們的test.php可以寫上下面內容進行測試:

執行成功的話,test.php同目錄下開啟test.txt,裡面應該寫入了【成功成功了!】 ~搞定~!!

三、.bat 開啟IE,訪問指定 url ,10秒後關閉IE

還是test.bat,裡面放置程式碼:(甚至可以訪問本地伺服器的程式碼:如localhost:8088/index.php/Home/Index/index)

@echo off
start iexplore.exe "http://www.baidu.com"
ping -n 10 127.1>nul 
taskkill /im iexplore.exe /f

第三行程式碼:ping -n 10 127.1>nul 10是代表10秒後關閉。 

上面親測可用,作用相當於傳送了一個curl 請求到指定url。