2010-08-17 89 views
2

也許這是一個愚蠢的問題,但我沒有找到答案。我使用網絡託管startlogic.com。我問員工關於cron。他們告訴我,他們在控制面板中只有一個名爲「計劃任務」的功能,我可以在其中手動完成任務。 但我需要從我的網絡應用程序做到這一點。例如,當我按下按鈕時,我會在1個月後收到電子郵件通知。 如何使用php實現這個? 我的網絡託管服務提供商能做到這一點還是我需要提前更換供應商(如果有的話,你會怎麼推薦?)如何在代碼中實現cron(php)?

感謝。

回答

8
  1. 製作一個名爲cron.php的PHP腳本(如果可能的話,在web根目錄之外)。

  2. 選擇該設置下的「計劃作業」

  3. 每次cron.php運行規律運行,它會檢查作業的數據庫,以查看是否有任何到期呢。

  4. 如果有任何到期,它們將運行。

  5. 一旦運行,它們被標記爲這樣。

  6. 要將新作業添加到列表中,只需將新行添加到數據庫中,並附上作業的詳細信息和截止日期。

+0

+1無論如何自動調度「物理」cron作業的可行性,OP都應該與該方案一起使用。您不希望有數千個計劃一次性執行的作業可能會被服務器重新安裝/移動/崩潰消除。 – deceze 2010-08-17 08:58:15

+0

謝謝。如何在數據庫中創建作業?任何樣品或鏈接 – dsplatonov 2010-08-17 09:02:03

+0

耶穌。下面是顯示如何在數據庫中創建作業的鏈接:http://www.w3schools.com/php/ – Skilldrick 2010-08-17 09:05:32

2

你可以有一個PHP腳本,每小時運行一次。在這個腳本中,你可以實現你自己的類似cron的功能,比如說讀取一個cronjobs數據庫並執行它們。

+0

請問你能否提供一個代碼示例。 – dsplatonov 2010-08-17 08:41:18

+3

自己解決,或者提出另一個問題。 SO不是讓別人寫你的代碼的地方。 – Skilldrick 2010-08-17 08:44:41

0

如果您不關心確切的時間,可以檢查每個頁面負載(或每第一個小時)您的數據庫,如果有需要執行的作業。

這種方式cron不會在一個月後執行完畢,而是在一個月後下一頁加載,很可能很快就會發生。

+0

OP可以訪問cron功能(計劃任務) - 他只是不知道如何使用它來發送電子郵件通知。 – Skilldrick 2010-08-17 08:51:21