-
Notifications
You must be signed in to change notification settings - Fork 0
/
publish.py
47 lines (30 loc) · 1.17 KB
/
publish.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from pubnub.pnconfiguration import PNConfiguration
from pubnub.pubnub import PubNub,SubscribeListener, SubscribeCallback, PNStatusCategory
from pubnub.exceptions import PubNubException
import pubnub
pnconfig = PNConfiguration()
pnconfig.publish_key = "publish key here"
pnconfig.subscribe_key = "subscribe key here"
pnconfig.ssl = False
pubnub = PubNub(pnconfig)
my_listener = SubscribeListener()
pubnub.add_listener(my_listener)
def publish_callback(channel, msg):
try:
envelope = pubnub.publish().channel(channel).message(msg).sync()
print("Publish TimeToken: %d" % envelope.result.timetoken)
except PubNubException as e:
handle_exception(e)
def subscribe_pub(channel, msg):
my_listener = SubscribeListener()
pubnub.add_listener(my_listener)
pubnub.subscribe().channels(channel).execute()
my_listener.wait_for_connect()
print('connected')
pubnub.publish().channel(channel).message(msg).sync()
result = my_listener.wait_for_message_on(channel)
print(result.message)
# Unsubscribe
pubnub.unsubscribe().channels(channel).execute()
my_listener.wait_for_disconnect()
print('unsubscribed')