2010-07-30 15 views
4

我打算建立一個小服務來監視IMAP電子郵件帳戶並對讀取的消息進行操作。爲此,它只需運行每個10分鐘,無需外部觸發器,但我希望在外部託管此服務(以便我不必擔心運行時間。)何處承載週期性運行的Python或Java服務?

要獨立於機器,我可以編寫服務JavaPython這是什麼好的託管服務提供商?以及哪種語言支持更好?

該服務要麼運行整個時間(並且必須自己等待)或者必須每10分鐘啓動一次。我想大多數(網絡)主機都適合請求驅動代碼(例如JSP),我假設他們關閉永久運行的進程。誰提供用戶編寫的服務(如上面提到的服務)?

回答

5

根據您需要採取的措施以及對資源的需求,Google App Engine可能非常適合Python和Java服務(GAE支持兩種語言)。 cron jobs可以設置爲每10分鐘運行一次(我給出的URL顯示瞭如何使用Python執行該操作),並且如果您需要在特定場合執行的工作量超過GAE支持的30秒限制,則可以排隊更多任務。

GAE對於開始和實驗來說特別好,因爲它對您的工作可能消耗的大多數所有資源都有合理慷慨的免費配額(您需要啓用計費,提供信用卡並設置預算,以便讓您儘管工作要消耗超過其免費配額)。

如果您認爲GAE有一些限制,您無法忍受,或者因爲免費配額的資源使用而花費太多,任何支持類Unix的cron作業調度程序的主機提供商都應該可以接受。從頭開始,每10分鐘一個Python腳本可能比從頭開始JVM快,但這取決於你必須每10分鐘做一次(對於某些類型的任務,Python將同樣快),或者甚至可能更快 - 對於其他人來說,速度會更慢,並且我們無法猜測您需要什麼類型的任務,或者在什麼「引爆點」,可能更快的JVM將「爲自己的啓動付費」 Python ...基本上你需要自己評估一下! - )。

+0

感謝堆的詳細信息。我會給GAE一個去! – halloleo 2010-07-31 07:42:17

+0

@halloleo,我看到其他答案也表明,但我很高興聽到細節的幫助! – 2010-07-31 16:22:34

3

很幸運,因爲Google AppEngine爲Python和Java提供了CRON作業。 ​​ GAE - Java

+1

AppEngine的一個重要特性是它具有非常慷慨的免費級別的服務。有可能您可能可以免費爲您運行應用程序。另外,SO上的google-app-engine標籤非常活躍,您可以毫不費力地解決任何問題。 – 2010-07-30 02:02:26