Вызов функции не работает, даже если переданы правильные аргументы
Допустим, у меня есть 2 файла - файл 1 и файл 2. В файле 2 есть метод celery -
@async_worker.task(ignore_result=True, queue="data_path")
def publish_msg_from_lock_async(mac: str, data: bytes, gateway_euid: str, req_id=None):
try:
vostio_log.info("here - ", extra=_log_token_dict)
addr = mac
payload = data
vostio_log.info("addr {} - payload {} ".format(addr, payload), extra=_log_token_dict)
device_id = VOSTIO_CLIENT_ID
cert = VOSTIO_CERT_CRT
key = VOSTIO_CERT_KEY
ca = VOSTIO_CERT_CA
host = VOSTIO_URL
port = int(VOSTIO_PORT)
from .sdk import VostioSDK
n = VostioSDK(device_id, cert, key, ca, host, port)
n.publish_msg_from_lock(addr, unhexlify(payload), gateway_euid)
except Exception as e:
return False
В файле1 это вызывается следующим образом -
publish_msg_from_lock_async.apply_async(args=(addr, payload, gateway_euid))
Метод publish_msg_from_lock также определен в файле1 следующим образом -
def publish_msg_from_lock(self, mac: str, data: bytes, gateway_euid: str):
vostio_log.info("Publishing message from lock ", extra=_log_token_dict)
payload = json.dumps([{
'id': f'{uuid.uuid4()}',
'addr': mac,
'data': b64encode(data).decode(),
}])
topic = f'net/{self.id}/gw/{gateway_euid}/lock/up'
self._publish(topic, payload)
Итак, если вы видите, что метод file2 имеет в начале лог, который не приходит, поэтому вызов не происходит.
Помогите, пожалуйста.