def test_reconnection(self): pnconf = PNConfiguration() pnconf.publish_key = "demo" pnconf.subscribe_key = "demo" pnconf.origin = "localhost:8089" pnconf.subscribe_request_timeout = 10 pnconf.reconnect_policy = PNReconnectionPolicy.LINEAR pubnub = PubNubTornado(pnconf, custom_ioloop=self.io_loop) time_until_open_again = 10 @gen.coroutine def close_soon(): yield gen.sleep(3) pubnub.http.close() pubnub.http = None print(">>> connection is broken") @gen.coroutine def open_again(): yield gen.sleep(time_until_open_again) pubnub.http = tornado.httpclient.AsyncHTTPClient( max_clients=PubNubTornado.MAX_CLIENTS) print(">>> connection is open again") @gen.coroutine def countdown(): yield gen.sleep(2) opened = False count = time_until_open_again while not opened: print(">>> %ds to open again" % count) count -= 1 if count <= 0: break yield gen.sleep(1) my_listener = MySubscribeCallback() pubnub.add_listener(my_listener) pubnub.subscribe().channels('my_channel').execute() yield gen.sleep(1000)
def test_reconnection(self): pnconf = PNConfiguration() pnconf.publish_key = "demo" pnconf.subscribe_key = "demo" pnconf.origin = "localhost:8089" pnconf.subscribe_request_timeout = 10 pnconf.reconnect_policy = PNReconnectionPolicy.LINEAR pubnub = PubNubTornado(pnconf, custom_ioloop=self.io_loop) time_until_open_again = 10 @gen.coroutine def close_soon(): yield gen.sleep(3) pubnub.http.close() pubnub.http = None print(">>> connection is broken") @gen.coroutine def open_again(): yield gen.sleep(time_until_open_again) pubnub.http = tornado.httpclient.AsyncHTTPClient(max_clients=PubNubTornado.MAX_CLIENTS) print(">>> connection is open again") @gen.coroutine def countdown(): yield gen.sleep(2) opened = False count = time_until_open_again while not opened: print(">>> %ds to open again" % count) count -= 1 if count <= 0: break yield gen.sleep(1) my_listener = MySubscribeCallback() pubnub.add_listener(my_listener) pubnub.subscribe().channels('my_channel').execute() yield gen.sleep(1000)
pnconf_pam_stub = PNConfiguration() pnconf_pam_stub.publish_key = "pub-stub" pnconf_pam_stub.subscribe_key = "sub-c-stub" pnconf_pam_stub.secret_key = "sec-c-stub" pnconf_pam_stub.uuid = uuid_mock pnconf_ssl = PNConfiguration() pnconf_ssl.publish_key = pub_key pnconf_ssl.subscribe_key = sub_key pnconf_ssl.ssl = True pnconf_ssl.uuid = uuid_mock message_count_config = PNConfiguration() message_count_config.publish_key = 'demo-36' message_count_config.subscribe_key = 'demo-36' message_count_config.origin = 'balancer1g.bronze.aws-pdx-1.ps.pn' message_count_config.uuid = uuid_mock pnconf_demo = PNConfiguration() pnconf_demo.publish_key = 'demo' pnconf_demo.subscribe_key = 'demo' pnconf_demo.uuid = uuid_mock file_upload_config = PNConfiguration() file_upload_config.publish_key = pub_key_mock file_upload_config.subscribe_key = sub_key_mock file_upload_config.uuid = uuid_mock mocked_config = PNConfiguration() mocked_config.publish_key = pub_key_mock mocked_config.subscribe_key = sub_key_mock
class MySubscribeCallback(SubscribeCallback): def status(self, pubnub, status): print("### status changed to: %s" % status.category) if status.category == PNStatusCategory.PNReconnectedCategory: pubnub.stop() def message(self, pubnub, message): pass def presence(self, pubnub, presence): pass pnconf = PNConfiguration() pnconf.publish_key = "demo" pnconf.subscribe_key = "demo" pnconf.origin = "localhost:8089" pnconf.subscribe_request_timeout = 10 pnconf.reconnect_policy = PNReconnectionPolicy.LINEAR pubnub = PubNub(pnconf) time_until_open_again = 8 my_listener = MySubscribeCallback() pubnub.add_listener(my_listener) pubnub.subscribe().channels('my_channel').execute() # atexit.register(pubnub.stop)
pnconf_pam = PNConfiguration() pnconf_pam.publish_key = pub_key_pam pnconf_pam.subscribe_key = sub_key_pam pnconf_pam.secret_key = sec_key_pam pnconf_pam.enable_subscribe = False pnconf_ssl = PNConfiguration() pnconf_ssl.publish_key = pub_key pnconf_ssl.subscribe_key = sub_key pnconf_ssl.ssl = True message_count_config = PNConfiguration() message_count_config.publish_key = 'demo-36' message_count_config.subscribe_key = 'demo-36' message_count_config.origin = 'balancer1g.bronze.aws-pdx-1.ps.pn' def pnconf_copy(): return copy(pnconf) def pnconf_enc_copy(): return copy(pnconf_enc) def pnconf_sub_copy(): return copy(pnconf_sub) def pnconf_enc_sub_copy():
import pubnub #pubnub==4.0.2 import time from pubnub.pnconfiguration import PNConfiguration from pubnub.pubnub import PubNub pnconf = PNConfiguration() pnconf.subscribe_key = "demo" pnconf.publish_key = "demo" pnconf.origin = "ps1.pndsn.com" pubnub = PubNub(pnconf) def show(msg, stat): if msg and stat: print(msg.timetoken, stat.status_code) else: print("Error", stat and stat.status_code) while True: print("publishing") pubnub.publish().channel("change_log").message("hello").sync() time.sleep(10)