2011-08-10 42 views
1

認爲我想:我應該學習什麼語言來執行重複的計劃任務爲Web應用程序

,將在服務器上持續運行的運行經常性事件,這將是能夠應對語言到html請求並給他們定製的數據。計劃的事件將動態定時並頻繁發生。事件幾乎總是對數據庫信息進行更改,並且結果將通過Web應用程序進行查看。

爲什麼我認爲 PHP是不會爲我工作:

因爲我只能讓我的PHP當用戶請求一個頁面,或通過固定硬性的時間表運行,我我們必須查看請求時間與上次請求時間的比較,並填寫應該發生的差距。例如,如果我需要每15分鐘發生一次,並且沒有PHP腳本運行幾個小時,那麼它將不得不檢查有多少錯過了跑步追趕來模擬我認爲在那個時候應該發生的事情。

現實世界的例子和細節:

我要指出一個非常愚蠢的例子在這一部分,因爲它實際上是真的相當接近現實世界的概念是什麼,我試圖解釋。網絡遊戲neopets有商店,經常隨機生成商品。如果在每15分鐘左右的補貨期間,商店更加空曠,但仍保留舊商品,那麼它可以重新裝滿。

這不是我想要的,但我意識到在它的基本概念是非常相似的。我會推斷這個系統有一些奇怪的補充,因爲我認爲它比我實際做的更有意義。

我應該怎麼做才能重建這個店,但有以下要求:

  • 補貨時間動態地發生(設定的時間,因爲其他項目可能出售)等事件得出的,因此時間表是不是我可以通過預定的PHP腳本運行僵化的「每個小時」。相反,它可能恰好在5:46:23 PM
  • 「補貨」是從其他時間特定信息派生而來的。我無法模擬新客戶檢查頁面後應該發生的所有補貨。

我該走什麼方向?

我不知道我說的是這樣認爲以下是狗屎:

我懷疑我在執行這些任務,並將結果提出到數據庫服務器上想要一個持久運行的程序,然後通過php訪問並傳遞給最終用戶。我真的只是開始,但我知道我很可能做出一個非常愚蠢的假設。我應該學習什麼是持久性程序和PHP?

我正在做這個作爲一種愛好,只是想了解更多,所以我可以爲自己製作更有趣的玩具。

+0

我認爲共同的觀點是PHP確實不是創建一個持久性程序(AKA服務,或* nix世界中的「守護進程」)。關於這個主題有很多很好的討論:http://stackoverflow.com/search?q=php+daemon –

+0

相關:[使用PHP作爲守護進程是否明智?](http://stackoverflow.com/ q/646928) –

+0

問題標題誤導實際意圖。 – Kumar

回答

1

我認爲你是兩個問題混淆:

,將在服務器上持續運行的運行經常性事件,這將是能夠響應HTML請求,並給他們量身定製的數據

語言

您並不是想要語言能夠持久運行,但對於系統,例如一個JobQueue (something like Gearman).這個JobQueue將完成您的主要計劃作品。除了構建人們將在PHP中進行交互的網站之外,您還可以使用PHP從該隊列中獲取消息,觸發新作業並檢查正在運行的作業等。

0

你總是可以使用CRON並調用一個PHP文件來做邏輯端的骯髒工作。 (我的意思是,使用PHP的「系統」功能Documented Here在CRON本身做重新調度命令)

相關問題