2

我有一个自定义的 django-command 读取和 RSS,寻找新的提要,如果找到任何新的提要,我将它 (pusher.com) 推送到我在 Heroku (heroku.com) 中托管的 web 应用程序。需要尽可能多地进行这种检查,以便能够尽快获得新的提要,比方说,每秒。

我遇到的两个问题是:

  • 由于此应用程序只会被少数人使用(2-3),因此只有当这些人中的任何一个人在应用程序内时才必须运行该命令,这样我就不会超载服务器作业。
  • 一旦用户离开应用程序(可能是他们刚刚关闭它,或者他们有一段时间不活动,即没有点击任何东西),该命令必须停止检查 RSS。

我的问题是,

  • 我应该从哪里运行命令?直接从一个视图,从一个信号?
  • 一旦用户离开应用程序,我怎么能中断这样的命令?

在此先感谢您的帮助:)

4

1 回答 1

0

您可以使用request-finished信号。在信号处理程序中,您可以运行celery任务,因此用户无需等待 rss 服务器请求结束

于 2012-01-06T16:49:15.277 回答