2011-01-11 68 views
8

Cron Jobs在我的服務器上關閉,服務器管理員不接受打開它。因爲,cron工作會減慢服務器等等。所以,我需要一個替代方案。是否有任何克倫工作替代?

我必須每2分鐘運行一個php文件(cron.php)。

那麼,我該如何做到這一點?

+1

是'cron.php`從Web服務服務器或我它只是一個本地腳本? – 2011-01-11 20:08:52

+4

簡短的答案是獲得更好的主機... – ircmaxell 2011-01-11 20:15:47

回答

2

取決於您在箱子上的訪問權限。

PHP本身將無法單獨運行。你可以做一個腳本,試圖不斷增加它的執行時間,睡覺和定期檢查新的工作。但是這是次優的,因爲你必須通過瀏覽器訪問它,並且腳本必須確保它只運行一次。

有了shell的訪問權限,你可以在shell上運行php腳本,這樣可以防止它被公衆調用,並且必須通過web瀏覽器運行它。

有了shell訪問權限,你也可以運行一個爲你提供(cron)服務的程序。無論是Java,Python還是其他程序。

Cron作業不應該總是減慢服務器。這取決於所運行的工作。如果你的工作如此昂貴,那麼你的管理員可能不會很好地解決關閉的cron作業,並再次放慢服務器的速度,並可能採取進一步的行動來阻止你解決問題。

1

分享到(免費)網站監控服務,並安排您的[url] /cron.php。您可以讓您的網頁返回有意義的內容,並配置監控服務以通知您該響應。

-2

如果你有很多訪問者,只需寫入數據庫上次訪問,並且如果嵌套時間更需要時間 - 運行cron。但實際上 - 找到新的託管。

7

即使問題是前一段時間發佈的,我只是有同樣的問題,但找到了解決方案(基於Kissaki's answer,謝謝!),我想我會發布它在這裏爲任何人仍在尋找一個可能的解決方案。

先決條件:

  • SSH訪問
  • 的Python

代碼(蟒蛇):

from subprocess import call 
import time 
while True: 
    call(["php","cron.php"]) 
    time.sleep(120) 
相關問題