2013-06-20 43 views
1

我正在爲我的瀏覽器遊戲開發一個python服務器(運行在GAE上)。一切都很好,直到現在。我無法在GAE上運行Timer,所以我不知道如何週期性地通知所有客戶端服務器上的更改。如何週期性地在GAE上運行Python函數

我目前的想法是,客戶端發送消息到服務器。服務器管理收到的數據,並在短時間內向所有連接的客戶端發送更新。但我無法運行Timer,所以我不知道該怎麼做。

你有什麼想法嗎?

感謝Toneks

編輯:我忘記說了,我需要非常小的間隔非常小 - 像100毫秒。所以克龍不是很好的解決方案。

+0

你可以提供更多的細節,你不能運行的定時器是什麼? – someone1

+0

如果你想要一個比cron更高的頻率(比如每100ms),使用一個永久運行的後端,這就是你的遊戲時鐘/定時器。不確定該頻率的計時器有多有用。很多網絡延遲會比特別是mobile/3g更長。 –

回答

2

使用App Engine的Cron Service

在您的應用程序(旁邊的app.yaml)的根目錄中的文件cron.yaml計劃配置爲您的Python應用程序的任務

+0

可能嗎?我想,Cron不能如此頻繁地運行任務(比如每100ms)。 – Toneks

0

如果你的更新將根據其他用戶事件(甚至服務器事件)發送出去考慮使用Channel API。這樣,您只需要向需要更新的用戶發送更新。

如果您需要服務器定期運行某些代碼,則使用Cron Service作爲奧斯卡建議是最好的方法。