Existe-t-il un module pour Ruby qui facilite le partage d'objets entre plusieurs processus? Je cherche quelque chose de similaire à multiprocessing de Python, qui prend en charge les files d'attente et les canaux qui peuvent être partagés entre les processus.Utilisation de plusieurs processus dans Ruby
Répondre
Combiner DRb, qui fournit une communication inter-processus simple, avec Queue ou SizedQueue, qui sont toutes deux des files d'attente threadsafe, devrait vous donner ce dont vous avez besoin.
Vous pouvez également consulter beanstalkd qui est également hébergé sur github
Je pense que vous pouvez faire beaucoup de ce que vous voulez utiliser les installations de Ruby IO; vous partagez entre les processus, pas les threads, correct?
Si c'est le cas, IO.pipe fera ce dont vous avez besoin. Ruby n'a pas de façon intégrée de gérer les files d'attente inter-processus (à ma connaissance), mais vous pouvez aussi utiliser des FIFO (si vous êtes sous Unix).
Si vous voulez quelque chose de plus fin, et avec un bon support de thread, je suis à peu près certain que vous pouvez superposer sur java.util.concurrent si vous utilisez JRuby. L'IRM a un très mauvais support de threading/concurrent, donc si c'est ce que vous cherchez, JRuby est probablement un meilleur endroit où aller.
J'ai déjà rencontré cette bibliothèque mais je ne l'ai pas encore essayée.
Parallel :: ForkManager - Un gestionnaire de fourche de traitement parallèle simple.
- 1. Utilisation de tuples dans Ruby?
- 2. Utilisation de Ruby Gem DBI
- 3. Lecture continue de STDOUT du processus externe dans Ruby
- 4. fichiers sur plusieurs processus
- 5. Utilisation des migrations dans Ruby on Rails
- 6. Plusieurs sessions/processus WebBrower dans une fenêtre
- 7. Comment démarrer plusieurs processus dans Drools Flow?
- 8. Utilisation de la valeur globale ruby dans le fichier YAML
- 9. Vérification de l'exécution de plusieurs processus
- 10. Utilisation de la mémoire du processus en cours dans C
- 11. Utilisation de la sous-classe droit d'exception dans Ruby
- 12. Plusieurs processus de travail sur Azure
- 13. Utilisation du processeur par processus en Python
- 14. Utilisation du processeur par processus dans l'API Win32
- 15. VS2008 Utilisation de clés de nom fort dans plusieurs projets
- 16. CPU utilisée par les processus fils générés par ruby
- 17. Utilisation de pages maîtres avec plusieurs entités
- 18. Utilisation de l'instruction avec plusieurs ressources système
- 19. Utilisation de plusieurs tables, plusieurs valeurs avec Min() SQL
- 20. Utilisation de scrollViewDidScroll avec plusieurs UIScrollViews
- 21. sed: utilisation de variables sur plusieurs lignes
- 22. Utilisation d'un formulaire Windows avec Ruby
- 23. Utilisation de plusieurs BindingSources sur un DataTable
- 24. Utilisation du monde réel des objets de liaison en ruby
- 25. Utilisation de variables dans SQL 2008 pour renvoyer plusieurs enregistrements
- 26. Utilisation de Mocks avec plusieurs scénarios dans NBehave
- 27. Utilisation de Send_File sur une source distante (Ruby on Rails)
- 28. Utilisation de WM_Close dans C#
- 29. Relations complexes dans Ruby - afficher des données sur plusieurs tables
- 30. Modèle Ruby on rails avec plusieurs parents
Je l'ai utilisé dans les deux perl et rubis. C'est génial. – gdanko