Как запустить SQL * Loader на Mac?

Обновление:

Если вам нужно, чтобы Django работал в нескольких потоках, чтобы публиковать сообщения из вашего приложения Django, вы можете использовать вспомогательные функции из модуля Publish Paho - https://eclipse.org/ paho / clients / python / docs / # id17 Вам не нужно создавать экземпляр клиента mqtt и запускать цикл в этом случае. И чтобы подписаться на какую-то тему, рассмотрите возможность запуска mqtt-клиента как автономного скрипта и импорта необходимых модулей вашего Django-приложения (и не забудьте настроить среду Django в скрипте).


Ответ ниже хорош только при запуске Django в одном потоке, который не является обычным в работе.

Создайте mqtt.py в своей папке приложения и поместите туда все связанные коды. Например:

import paho.mqtt.client as mqtt

def on_connect(client, userdata, rc):
    client.subscribe("$SYS/#")

def on_message(client, userdata, msg):
    # Do something
    pass

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.connect("iot.eclipse.org", 1883, 60)

Не вызывайте loop_forever() здесь!

Затем в вашем приложении __init__.py вызывают loop_start():

from . import mqtt

mqtt.client.loop_start()

Использование loop_start() вместо loop_forever() даст вам не блокировать фоновый поток.

1
задан Alex Poole 27 March 2019 в 15:44
поделиться