Я пытаюсь использовать библиотеку MQTT в эликсире, известном как Черепаха.Всякий раз, когда я использую iex -S mix
, я могу заставить отправку сообщений работать.Однако, когда я использую mix start
, чтобы начать задачу запуска, программа не будет работать.Я получаю ошибку unknown registry: Tortoise.Registry
.
Я могу запустить супервизор для Черепахи без ошибок, только когда я пытаюсь запустить дочерний процесс для этого процесса с Tortoise.Supervisor.start_child
, я получаю ошибку.
defmodule Mqtt.Begin do
require Tortoise
def start do
opts = [strategy: :one_for_one, name: Mqtt.Begin]
{:ok, pid} = Tortoise.Supervisor.start_link(opts)
{:ok, _} =
Tortoise.Supervisor.start_child(Mqtt.Begin, [
client_id: :a,
handler: {Mqtt.Handler, [name: :a]},
server: {Tortoise.Transport.Tcp, host: 'localhost', port: 1883},
subscriptions: [{"share/share-group/bar", 0}] ])
При использовании библиотек extern в elixir вся библиотека создается с помощью deps.compile?Или мне нужно что-то делать дальше?