ThinkPHP實現定時任務


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神話!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM