¿Qué paquetes debo ver para escribir un daemon python y procesar trabajos? Además, ¿qué debo hacer para un daemon python?Python Job Service Daemon?
Respuesta
Su pregunta es un poco ambigua, pero supongo que quiere decir que le gustaría escribir un daemon de python que procesará los trabajos que se arrojan en una cola. Si no, por favor dígalo. :-)
He oído muchas cosas buenas sobre redis. La gente de github construyó resque como daemon de procesamiento de trabajos para Ruby. Si tiene un lenguaje flexible, puede usarlo, pero si no lo está, puede emularlo con la profundidad que desee utilizando redis como su sistema de cola. Dependiendo de lo conectable y extensible que necesite, esto podría ser algo muy simple de implementar.
Otra opción que encontré después de un poco más de google es redqueue. Parece que ya podría implementar la mayoría de la cola de trabajos.
Si está utilizando django, es posible que desee considerar el proyecto Celery. Es un sistema de cola de trabajos basado en RabbitMQ que es otro servidor de cola con excelentes críticas.
En cuanto a la creación de un daemon en python, hay una serie de opciones. Puede mirar este page on activestate, que es un buen comienzo. Mejor aún, puede usar python-daemon para hacerlo todo por usted. Pero si usa una de las opciones anteriores o beanstalkd como lo recomienda mczepiel, probablemente no tenga que hacer que su proceso se ejecute como daemon.
estoy bastante contento con beanstalkd, que tiene bibliotecas de cliente disponibles en varios idiomas:
Daemon: http://kr.github.com/beanstalkd/
biblioteca cliente Python: http://code.google.com/p/pybeanstalk/
tengo recientemente (esta semana) implementó una cola en RabbitMQ con un daemon python extrayendo la información y almacenándola en una base de datos (usando Django ORM). El daemon tiene un buffer intermedio por lo que esperará un poco y escribirá en la base de datos en lotes, en lugar de escribir cada vez que llega un pequeño mensaje.
He hecho la integración con la cola usando este pequeño módulo flopsy, que es fácil de configurar. El único problema que tengo es que puedo configurar un tiempo de espera para esperar un mensaje, ya que el módulo no tiene una manera clara de hacerlo. Después de un tiempo jugando con el shell interactivo y haciendo unos pocos dir()
, logro llegar al objeto socket
y configurar el tiempo de espera.
que considera también Celery, pero parece estar más centrado en el uso de su interior un RabbitMQ que permitirá poner en marcha tareas (periódicamente o de forma asíncrona), más que el uso de una cola para la comunicación con otros sistemas. En nuestro caso, la cola puede alimentarse tanto por sistemas Python como por Ruby.
Una vez que he completado el proceso, he hecho algunos ajustes para permitir que se ejecute como daemon (principalmente almacenando la salida estándar en un archivo para permitir un registro fácil) y luego creo un script bash que inicia un comando start-stop-daemon . Seguí más o menos esto schema Descubrí python-daemon con un retraso de un día, por lo que una vez finalizado el trabajo, no tiene sentido volver a visitarlo, pero tal vez tenga más sentido para un proyecto de Python.
- 1. Efficient Python Daemon
- 2. start-stop-daemon y Python
- 3. Python Daemon Packaging Best Practices
- 4. Comprender los hilos del daemon de Python
- 5. Ejecutando un Cron Job
- 6. CRON job for codeigniter
- 7. Quartz.Net Job Storage Query
- 8. Cron Job $ _SERVER issue
- 9. Daemon Hilos Explicación
- 10. Ejecute web.py como daemon
- 11. Cómo codigo un Mono Daemon
- 12. WCF Service vs Windows Service
- 13. Ejecutar Spring Batch Job programmatically?
- 14. Sugiera .Net Job/Task Queue
- 15. ¿Es buena idea escribir un daemon en Python?
- 16. Python: Ejecución de procesos Daemon en Windows 7
- 17. script de Python como un servicio Linux/daemon
- 18. ¿Cómo administro un daemon basado en Python en Linux?
- 19. Python Ejecutar un subproceso de daemon y leer stdout
- 20. Llamar a un subproceso python como daemon y salir
- 21. Circus, ejecutando circusd como daemon?
- 22. Android daemon process
- 23. Ejecutando SBT como Daemon
- 24. Detener Erlang Daemon
- 25. SOAP Web Service/VS2010 Add Service Reference
- 26. Powershell start-job, wait-job, host thread nunca sale cuando se ejecuta desde ASP.NET IIS
- 27. Cron Job in play framework 2.0
- 28. SQL Server Agent Job - ¿Existe entonces Drop?
- 29. Confusión sobre hadoop job tracker api
- 30. Start-job vs. Invoke-command -asjob
vi python-daemon, ¿es suficientemente estable todavía? – Timmy
Creo que sí, pero no me he tomado el tiempo para leer su código ni nada, así que no estoy seguro. – Benson