【问题标题】:How to periodicaly run function in Python on GAE如何在 GAE 上的 Python 中定期运行函数
【发布时间】:2013-06-20 14:42:37
【问题描述】:

我正在为我的浏览器游戏开发一个 Python 服务器(在 GAE 上运行)。直到现在一切都运行良好。我无法在 GAE 上运行 Timer,所以我不知道如何定期通知所有客户端有关服务器上的更改。

我目前的想法是,客户端向服务器发送消息。服务器管理接收到的数据,并在短时间内向所有连接的客户端发送更新。但是我不能运行Timer,所以我不知道该怎么做。

你有什么想法吗?

感谢托尼克斯

编辑:我忘了说,我需要非常小的间隔才能非常小——比如 100 毫秒。所以 Cron 不是很好的解决方案。

【问题讨论】:

  • 您能否提供更多关于您无法运行的Timer 的详细信息?
  • 如果您想要比 cron 可以实现的频率更高的频率(比如每 100 毫秒),请使用永久运行的后端,这实际上是您的游戏时钟/计时器。不确定该频率的计时器会有多大用处。很多网络延迟会比移动/3g 更长。

标签: python google-app-engine channel-api


【解决方案1】:

为此使用 App Engine 的 Cron Service

应用程序根目录中的 cron.yaml 文件(与 app.yaml 一起)为 Python 应用程序配置计划任务

【讨论】:

  • 有可能吗?我想,Cron 不能如此频繁地运行任务(比如每 100 毫秒)。
【解决方案2】:

如果要根据其他用户事件(甚至服务器事件)发送更新,请考虑使用Channel API。这样,您只需将需要的更新发送给需要更新的用户。

如果您需要服务器定期运行某些代码,最好按照 Oscar 的建议使用 Cron Service

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2015-01-30
    • 2023-03-12
    相关资源
    最近更新 更多