pubnub asyncio не публикует данные - PullRequest
0 голосов
/ 24 сентября 2018

Я использую библиотеку PubNub Asyncio для публикации данных, ниже мой код.

import asyncio
import os

from pubnub.exceptions import PubNubException
from pubnub.pnconfiguration import PNConfiguration
from pubnub.pubnub_asyncio import PubNubAsyncio

def publish_callback(result, status):
    print(status)

class PubNubIntegrator:
    def __init__(self):
        print("In initialize")
        pn_configuration = PNConfiguration()
        pn_configuration.publish_key = os.environ['PUB_KEY']
        pn_configuration.subscribe_key = os.environ['SUB_KEY']
        pn_configuration.ssl = True
        self.pubnub = PubNubAsyncio(pn_configuration)


    async def publish_data(self, message, channel_name):
        print('message on channel {0}'.format(channel_name))
        try:
            asyncio.ensure_future(self.pubnub.publish().channel(channel_name).message(message).future()).add_done_callback(publish_callback)
        except PubNubException as e:
            print("Error while publishing data", message)

И я звоню из другой функции,

async def stream(self):
        result = { "mesage": "data"} 
        pn_integrator = PubNubIntegrator()
        await pn_integrator.publish_data(result, 'demo_channel')

Но это нене работает и не публикует данные на канал.

...