cic-stack/apps/cic-eth/cic_eth/callbacks/tcp.py

25 lines
574 B
Python
Raw Normal View History

2021-02-01 18:12:51 +01:00
# standard imports
import socket
import logging
import json
# third-party imports
import celery
# local imports
from . import Callback
celery_app = celery.current_app
logg = celery_app.log.get_default_logger()
@celery_app.task(base=Callback, bind=True)
def tcp(self, result, destination, status_code):
s = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
(host, port) = destination.split(':')
logg.debug('tcp callback to {} {}'.format(host, port))
s.connect((host, int(port)))
s.send(json.dumps(result).encode('utf-8'))
s.close()