Поддержка Erlang для разбиения своих узлов на группы с использованием модуля global_group. Кроме того, Erlang поддерживает добавление узлов «на лету» в узловую сеть. Являются ли эти две функции полезными друг для друга?
Насколько я понимаю, вы должны назвать каждый узел при запуске для использования глобальных групп.Добавление узлов динамически и global_groups в Erlang
ответ
Рассматривая список global_group source, список узлов является частью конфигурации, проверенной узлами по мере их синхронизации.
Существует, однако, экспортированная функция global_group:global_groups_changed, которая обрабатывает изменение списка узлов.
Это называется из kernel:config_change (см Module:config_change/3), так что, конечно, можно добавить новые узлы к global_group во время обновления выпуска (OTP встраиваемых систем стиль) (см "Updating Application Specifications")
Это может можно просто делать:
application:set_env(kernel, global_groups, [GroupTuple|GroupTuples]),
kernel:config_change([ { global_groups, [GroupTuple|GroupTuples] } ], [], [])
Предполагая, что вы уже имели конфигурацию global_groups или
application:set_env(kernel, global_groups, [GroupTuple|GroupTuples]),
kernel:config_change([], [{ global_groups, [GroupTuple|GroupTuples] }], [])
, если вы настраиваете global_groups в кластер, где он еще не существует.
Вам нужно сделать все, что указано выше, на каждом узле, и если они решат синхронизацию во время процесса, они разделит строки разницы в конфигурации. (См комментарий в global_group source о синхронизации при обновлении выпуска)
Но как только это было сделано, чтобы все они,
global_group:sync()
должны получить все снова работает.
Я не тестировал вышеуказанный рецепт, но мне он кажется вкусным.^_^
Узел является выполнение Эрланга выполнения система, которая была дана имя, с помощью -name командной строки флаг (длинные имена) или -sname (короткие имена).
Скрытый узел - это узел, начинающийся с флаг командной строки -hidden. Соединения между скрытыми узлами и другие узлы не транзитивны, они должны быть явно заданы в . Кроме того, скрытые узлы не отображаются в списке узлов, возвращаемых узлами(). Вместо этого должны использоваться узлы (скрытые) или узлов (подключенных). Это означает, например, что скрытый узел не будет добавлен к множеству узлов , которые отслеживает глобальный.
Итак, давайте дадим нашему узлу имя, чтобы другие узлы могли его найти.
Чувствуется, что вы либо просите, не опробовав или не зададите очень сложный вопрос, и, возможно, пример того, что вы пытаетесь сделать, может дать лучший ответ.
- 1. Приоритизация узлов Erlang
- 2. Добавление узлов и ребер диаграмма структуры данных динамически в Matlab
- 3. TreeView - добавление узлов динамически с помощью клиента
- 4. Erlang: Как удалить узел из узлов других узлов()?
- 5. Количество узлов Erlang возможно/практично?
- 6. Список всех узлов в кластере Erlang
- 7. Добавление узлов в LinkeList
- 8. Quiz - добавление и удаление узлов
- 9. добавление узлов в XML
- 10. Удаление и добавление узлов в дерево
- 11. GWT - добавление и удаление узлов в celltree
- 12. Добавление и удаление узлов в primefaces TreeTable
- 13. Чтение узлов XML и добавление в datagrid
- 14. Удаление и повторное добавление узлов в C++
- 15. Создание узлов XSLT динамически/несколько узлов XSLT
- 16. Erlang - C и Erlang
- 17. Динамическое добавление узлов в кластер Phoenix
- 18. Группа динамически сгенерированных узлов
- 19. Добавление пользовательских узлов в jbpm
- 20. Добавление дочерних узлов в treeview
- 21. Добавление модулей узлов в gitignore
- 22. Добавление узлов в существующий XML
- 23. Добавление дочерних узлов в SelectionPaths []
- 24. Добавление узлов в круговом списке
- 25. Добавление дочерних узлов в XElement
- 26. Добавление немодельных узлов в NSTreeController
- 27. Добавление юнитов в список узлов
- 28. Добавление узлов в одиночный список
- 29. Добавление узлов в массив указателей
- 30. Добавление узлов TreeViewItem
Хороший обзор спасибо :) Я должен посмотреть, что. – ZeissS