Tengo una aplicación que funciona de la siguiente manera: las máquinas Linux generan 28 tipos diferentes de cartas para los clientes. Las cartas deben enviarse en .docx (formato Microsoft Word). Una secretaria mantiene plantillas de MS Word, que se utilizan automáticamente según sea necesario. Cambiar de usar MS Word no es una opción.alternativa a la base de datos de votación?
Para coordinar todo esto, los trabajos de documento se colocan en una tabla de base de datos y un programa python ejecutándose en cada una de las máquinas de Windows sondea la base de datos con frecuencia, bloqueando trabajos y ejecutándolos según sea necesario.
Utilizamos una tabla de base de datos central para la información del trabajo para coordinar diferentes estados ("nuevo", "procesamiento", "terminado", "impreso") ... así como para proporcionar información de estado precisa.
De todos modos, no me gustan los clientes que consultan la base de datos con frecuencia, ya que no están funcionando la mayor parte del tiempo. Los clientes hpoll cada 5 segundos.
Para evitar el sondeo, quiero un mensaje de difusión que diga "hay algo de trabajo que hacer" o "revise su base de datos para algún trabajo que hacer" enviado a todas las máquinas del cliente.
Creo que algún tipo de cola de mensajes de publicación/suscripción estaría a la altura, pero no quiero una complejidad extra enorme.
¿Hay un software de configuración/mantenimiento cero o casi cero que logre esto? ¿Cuales son las opciones?
X
¿Qué sistema de base de datos está utilizando? ¿Servidor SQL? –
Es una base de datos MySQL. –
arr ok. Con Sql server 2005 tiene Sql server message broker. Permite a los procesos de su cliente bloquear y consumir 0% de CPU hasta que haya trabajo pendiente (un mensaje en la q). Cada mensaje es transaccional. Sin embargo, ofc, no necesita el servidor SQl para hacer este tipo de procesamiento. Sin embargo, no puedo recomendar otro, ya que no los he usado; p –