Quelle est la meilleure pratique pour accéder à un seul nœud Mnesia en cours d'exécution à partir d'un autre shell Erlang pour afficher uniquement les données dans les tables?Accès à un nœud Mnesia depuis un autre shell Erlang pendant son exécution
J'ai essayé d'ouvrir deux shells et de les pointer vers le même emplacement de répertoire mnesia que j'ai réalisé était une très mauvaise idée après l'avoir trouvé dans la documentation.
-mnesia dir Répertoire. Le nom du répertoire où toutes les données Mnesia sont stockées. Le nom du répertoire doit être unique pour le nœud actuel. Deux nœuds ne peuvent en aucun cas partager le même répertoire Mnesia. Les résultats sont totalement imprévisibles.
Quelle serait la meilleure pratique pour accéder à une base de données Mnesia en cours à partir de deux applications Erlang? Ajouter un nœud au cluster Mnesia et y accéder de cette façon, semble un peu exagéré? –
@Peter: Utilisez ensuite le module rpc s'il se trouve dans le même cluster Erlang ou utilisez lib_chan lorsque vous souhaitez communiquer via le socket. –
Je recommande d'utiliser l'indicateur -hidden lorsque vous utilisez un shell distant, en particulier si vous traitez avec des réseaux distribués. Par exemple. erl -sname barre -remsh 'foo @ hynek-notebook' -hidden –