python - 我有個秒任務 怎麼處理 linux 的crond服務 最少是1分鐘 php
習慣沉默
習慣沉默 2017-05-16 13:01:44
0
4
634

我需要即時接收一個資料去處理,必須是秒級,要怎麼處理呢

習慣沉默
習慣沉默

全部回覆(4)
習慣沉默

如果系統使用systemd的話可以利用systemd.timer設定秒甚至毫秒定時任務。
具體參考:這裡

曾经蜡笔没有小新

crontab預設最小單位是分,但是也可以用一些取巧的方式實現。例如,每10秒執行一次:

* * * * * php /home/test.php
* * * * * sleep 10; php /home/test.php
* * * * * sleep 20; php /home/test.php
* * * * * sleep 30; php /home/test.php
* * * * * sleep 40; php /home/test.php
* * * * * sleep 50; php /home/test.php

每秒的話,也可以上述方式實現,但是就很多了,不建議,因此用個shell腳本是比較好的選擇。

#!/bin/bash  
  
step=1 #间隔的秒数,不能大于60  
  
for (( i = 0; i < 60; i=(i+step) )); do  
    $(php '/home/test.php')  
    sleep $step  
done  
  
exit 0  
我想大声告诉你

crontab處理不了秒級的, 你只能用常駐進程去解決了

Peter_Zhu

crontab最小執行時間粒度為一分鐘,秒級的可以使用開啟一個死循環來不停獲取資料。
while(true){
file_get_contents('get_data_controller');
sleep(1);
}

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板