- 发送数据 dat 到目的地 dst

    :param cfgs:
    :type cfgs:
    :param dst:
    :type dst:
    :param dat:
    :type dat:
    :param qos:
    :type qos:
    :param retain:
    :type retain:

def push_to_topic(dst, dat, qos=0, retain=False, cfgs=None):
    """
    - 发送数据 dat 到目的地 dst

    :param cfgs:
    :type cfgs:
    :param dst:
    :type dst:
    :param dat:
    :type dat:
    :param qos:
    :type qos:
    :param retain:
    :type retain:
    """
    cfg_amqt = {
        'hostname': cfgs['hostname'],
        'port': cfgs['port'],
        'username': cfgs['username'],
        'password': cfgs['password'],
    }

    msg = {
        'topic': dst,
        'payload': dat,
        'qos': qos,
        'retain': retain,
    }
    try:
        Publisher(cfg_amqt).run(msg)
        return True
    except Exception as err:
        log.error('push to amqt: {}'.format(err))
        return False