何时运行并中断django管理命令

时间:2012-01-06 15:34:52

标签: django web-applications rss django-manage.py

我有一个自定义django命令,它读取和RSS,查找新的feed,如果找到任何新的feed,我将它(pusher.com)推送到我在Heroku(heroku.com)中托管的webapp。这种检查需要尽可能地完成,以便能够尽快获得新的饲料,比方说,每一秒。

我遇到的两个问题是:

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

我的问题是,

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

提前感谢您的任何帮助:)

1 个答案:

答案 0 :(得分:0)

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