Pregunta

¿Hay un módulo para Ruby que hace que sea fácil compartir objetos entre múltiples procesos? Estoy buscando algo similar a multiprocesamiento de Python, que es compatible con las colas y los procesos de fallos tuberías que pueden ser compartidos entre los procesos.

¿Fue útil?

Solución

La combinación DRB sencilla que proporciona comunicación entre procesos, la cola o SizedQueue, que son las dos colas de hebras, debe darle lo que necesita.

También es posible que desee comprobar hacia fuera beanstalkd que también está alojado en github

Otros consejos

Creo que se puede hacer mucho de lo que desea utilizando las instalaciones de Rubí IO; va a compartir entre los procesos, no temas, correcto?

Si ese es el caso, IO.pipe hará lo que usted necesita. Ruby no tiene ninguna forma integrada de manejo de colas entre procesos (que yo sepa), pero también se puede utilizar FIFO (si está en Unix).

Si quieres algo más de grano fino, y con un buen soporte roscado, estoy bastante seguro de que puede aprovecharse de java.util.concurrent si utiliza JRuby. La RM tiene soporte roscado / concurrencia bastante pésimo, así que si eso es lo que tu apuntando, JRuby es probablemente el mejor lugar para ir.

Me he encontrado con esta biblioteca, pero no he probado todavía.

Parallel :: ForkManager - Un simple administrador de procesamiento paralelo tenedor.

http://parallelforkmgr.rubyforge.org/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top