feat: 调整独立运行的scripts的文件位置

This commit is contained in:
caoqianming 2024-04-12 10:40:05 +08:00
parent 2ea048cc53
commit 13c63a7aff
2 changed files with 17 additions and 14 deletions

View File

View File

@ -5,42 +5,45 @@ import paho.mqtt.client as mqtt
import logging import logging
import json import json
from django.conf import settings from django.conf import settings
import traceback
CUR_DIR = os.path.dirname(os.path.abspath(__file__))
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) BASE_DIR = os.path.dirname(CUR_DIR)
sys.path.insert(0, BASE_DIR) sys.path.insert(0, BASE_DIR)
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")
django.setup() django.setup()
from apps.enm.services import insert_mplogx_from_king_mqtt from apps.enm.services import insert_mplogx_from_king_mqtt
_logger = logging.getLogger('log') _logger = logging.getLogger("log")
def on_connect(mqttc, userdata, flags, rc, properties): def on_connect(mqttc, userdata, flags, rc, properties):
if rc == 0: if rc == 0:
_logger.info('Mqtt Connected successfully') _logger.info("Mqtt Connected successfully")
if settings.KING_ENABLED: # 订阅亚控的mqtt转发 if settings.KING_ENABLED: # 订阅亚控的mqtt转发
mqttc.subscribe('datachange_S_KIO_Project') # 订阅主题 mqttc.subscribe("datachange_S_KIO_Project") # 订阅主题
_logger.info('订阅亚控主题成功') _logger.info("订阅亚控主题成功")
else: else:
_logger.error('Mqtt Bad connection. Code:', rc) _logger.error("Mqtt Bad connection. Code:", rc)
def on_message(mqttc: mqtt, userdata, msg): def on_message(mqttc: mqtt, userdata, msg):
topic = msg.topic topic = msg.topic
if topic == 'datachange_S_KIO_Project': if topic == "datachange_S_KIO_Project":
payload = json.loads(msg.payload) payload = json.loads(msg.payload)
insert_mplogx_from_king_mqtt(payload, settings.KING_MQTT_OFFSET) insert_mplogx_from_king_mqtt(payload, settings.KING_MQTT_OFFSET)
def start_mqtt(): def start_mqtt():
if settings.MQTT_ENABLED: if settings.MQTT_ENABLED:
client = mqtt.Client(callback_api_version=mqtt.CallbackAPIVersion.VERSION2, client_id=settings.BASE_PROJECT_CODE) client = mqtt.Client(callback_api_version=mqtt.CallbackAPIVersion.VERSION2, client_id=settings.BASE_PROJECT_CODE)
client.on_connect = on_connect client.on_connect = on_connect
client.on_message = on_message client.on_message = on_message
# client.enable_logger(_logger) # client.enable_logger(_logger)
client.connect(host=settings.MQTT_HOST,port=settings.MQTT_PORT) client.connect(host=settings.MQTT_HOST, port=settings.MQTT_PORT)
client.loop_forever() client.loop_forever()
if __name__ == '__main__':
start_mqtt() if __name__ == "__main__":
start_mqtt()