Когда запускать и прерывать команду управления django - PullRequest
2 голосов
/ 06 января 2012

У меня есть специальная команда django, которая читает и RSS, ищет новые каналы и, если какой-либо новый канал найден, я помещаю его (pusher.com) в мое веб-приложение, размещенное в Heroku (heroku.com).Эту проверку необходимо сделать как можно больше, чтобы иметь возможность получать новые каналы как можно скорее, скажем, каждую секунду.

У меня есть две проблемы:

  • Поскольку это приложение будет использоваться только несколькими людьми (2-3), команда должна выполняться, только если кто-либо из этих людей находится внутри приложения, поэтому я не перегружаю серверные задания.
  • Как толькопользователь покинул приложение (может быть, он просто закрыл его или у него есть определенное время бездействия, т.е. ничего не щелкает), команда должна прекратить проверку RSS.

Мои вопросы:

  • откуда мне запустить команду?непосредственно из вида, из сигнала?
  • Как я могу прервать такую ​​команду, как только пользователь выйдет из приложения?

Заранее благодарен за любую помощь:)

1 Ответ

0 голосов
/ 06 января 2012

Вы можете использовать запрос завершен сигнал.В обработчике сигналов вы можете запустить задачу celery , чтобы пользователь не дождался окончания запроса к rss серверу

...