J'ai une application rails qui utilise mongodb via mongomapper et tout va bien. Le problème est ... Je vais vouloir utiliser erlang pour faire du traitement en arrière-plan et je veux mettre à jour les mêmes modèles mongo/mongomapper avec les résultats de ce traitement. Quelle est la meilleure façon de partager les définitions de modèles entre les deux applications (rails et erlang) et de rester sain d'esprit? Il semble qu'il serait problématique d'essayer de les gérer séparément s'ils accèdent tous les deux aux mêmes enregistrements. S'il n'y a pas de «bon» moyen, est-ce que je m'approche simplement de la mauvaise façon? Informations supplémentaires: À l'origine, je faisais le traitement en arrière-plan en utilisant des clients starling/workling. C'est sympa puisque je pourrais utiliser tous les mêmes modèles de rails et de code. La performance était terrible mais je cherche à résoudre pour résoudre certains des problèmes d'efficacité. C'est une grande quantité de données en cours de traitement, mais il peut être facilement traité en parallèle. J'essaie d'éviter d'utiliser erlang comme seul médiateur entre mongodb et rails à travers une interface de repos ou d'épargne.Partage des définitions de modèles entre Erlang et Rails (et mongodb)
Editer: Je voulais mettre un peu plus de lumière à ce sujet. Le traitement erlang devra en savoir un peu plus sur les modèles à l'avance. J'utilise essentiellement erlang pour extraire des données d'autres endroits et remplir les détails des objets du modèle. Ainsi, par exemple, il y a peut-être un champ de description que je suis en train d'extraire d'un fichier xml en utilisant xmerl_xpath: string ("// description/text()"). Je dois être capable d'ajouter des méthodes comme celles-ci qui agiront sur les champs du modèle.
Vous pouvez écrire un exportateur Ruby de modèles mongomapper à un format lisible par Erlang (il pourrait être un simple Format de terme Erlang, lisible par 'file: consult/1') et utilise des informations sur les modèles dans Erlang lors du traitement des tâches. Juste une pensée. – gleber
Merci pour votre suggestion. C'est une idée vraiment intéressante à laquelle je n'avais pas pensé auparavant. Le seul problème que je prévois est que le traitement erlang que je fais devra connaître un peu les modèles avant et je ne suis pas sûr que cela permette cela. J'ai édité la question avec un peu plus de détails. – markquezada