ThinkPHP實現定時任務
項目服務端框架我選用的是ThinkPHP,由於策划案中有需求要定時刷新指定數據,所以在windows平台我使用微軟的計划任務調用bat腳本來執行下面的命令來完成
php index.php /Home/cli
即使用PHP的CLI模式調用ThinkPHP的入口文件,然后再傳入指定控制器完成相應的數據處理。/Home/cli 為我新增的名為CliController的控制器,在類中index方法調用相應處理數據的模塊即可。特別注意:在windows平台上執行時在bat腳本中一定要先將當前執行目錄切換到index.php所在目錄,然后執行php.exe index.php /Home/cli.
在linux平台下使用的crontab來實現定時任務,通過crontab -e 新增一條命令,具體寫法可問問度娘,給出我的配置截圖:
# m h dom mon dow command 0 6 * * */bin/sh /mnt/share/Web/Cli_timer.sh
效果就是每天早上6點執行cli_timer.sh腳本,腳本內容如下:
sh -c "cd /mnt/share/WebServer;php index.php /Home/Cli;"
這里需要說明的是在linux下如果cli_timer.sh腳本中只包含下面命令
php index.php /Home/Cli;
是會報路徑包含錯誤的,所以這里在腳本中將當前工作路徑切換到index.php腳本放置的目錄,這樣就能正常使用了。
執着而堅韌的蝸牛,求知於珠海,在通往理想的道路上披荊砍刺,瘦小的身軀蘊含着獨特的思維和豐富的表達.在思索中洞悉IT世界的變化.從意氣風發的學生會成員到漸漸成熟的IT職業人,我准備好了,跟着我的心靈深處的渴望一起去創造IT神話!