Tengo una parte muy pequeña de un sitio de Django que mantiene el estado de una sesión de chat moderada entre dos usuarios. Básicamente, el primer usuario habla durante 3 minutos (y nadie más puede), luego el segundo usuario habla, luego una pausa de 30 segundos, y el proceso se repite una vez más. Actualmente estoy usando la base de datos y un modelo de "RoomState" para administrar el estado actual de la sala (quién puede hablar, etc.). Las transiciones de estado se ven afectadas por el hecho de que el cliente envíe un mensaje POST de AJAX "ping" cada 10 segundos a una de mis vistas, que verifica si es hora de cambiar de estado.Proceso de fondo en Django sin apio
Esto funciona, pero definitivamente se siente hacky. Me preguntaba si había algo más liviano que django-apio + rabbitmq para administrar tareas de segundo plano de vida corta en un temporizador. Me doy cuenta de que la naturaleza de la web/Django es apátrida, pero solo quería ver si alguien tenía una sugerencia simple para administrar las transiciones de estado de una manera más confiable.
Si rabbitmq es demasiado pesado, considera utilizar el servidor de Redis en su lugar. –
Considere actualizar la respuesta seleccionada. – coleifer
Estoy totalmente de acuerdo con OP cada vez que tenemos que actualizar Django o Aplery uno de los dos descansos. Estamos escaneando la web para el dolor de cabeza número 10 ahora. Apio tiene 496 problemas pendientes en git hub y un enorme número de 37 solicitudes de extracción que nunca serán retiradas. Todas las tareas programadas fueron confiables y el apio no. Los desarrolladores pierden su tiempo integrando otro backend nadie le importa. –