Фоновая обработка в Django без Celery

У меня есть очень небольшая часть сайта Django, которая поддерживает состояние модерируемого сеанса чата между двумя пользователями. Обычно первый пользователь говорит в течение 3 минут (и никто другой не может), затем говорит второй пользователь, затем 30-секундная пауза, и процесс повторяется еще раз. В настоящее время я использую базу данных и модель «RoomState» для управления текущим состоянием комнаты (кто может говорить и т. Д.). На переходы состояний влияет то, что клиент отправляет сообщение «ping» AJAX POST каждые 10 секунд в одно из моих представлений, которое проверяет, не пора ли изменить состояние.

Это работает, но определенно кажется хакерским. Мне было интересно, есть ли что-то более легкое, чем django-celery + rabbitmq, для управления краткосрочными фоновыми задачами по таймеру. Я понимаю, что природа сети / Django не имеет состояния, но я просто хотел посмотреть, есть ли у кого-нибудь простое предложение для более надежного управления переходами между состояниями.

14
задан jeffknupp 4 January 2012 в 17:10
поделиться