チャネルブレイクアウトbotコード(by スナフキン氏)読解メモ7
の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。
executionsProcessメソッドはコメントの通りpubnub通信で価格を取得する処理が書かれています。
「基本的に不要」という言葉の真意は今のところわかりません。
コードを読み進めるとわかるのかもしれません。
なお、bitflyerのAPIリファレンスによるとpubnubは「廃止を検討中」とのことなので、現在は利用非推奨です。
https://lightning.bitflyer.com/docs?lang=ja#realtime-api
class BFSubscriberCallback(SubscribeCallback):
def message(self, pubnub, message):
execution = message.message
for i in execution:
executions.append(i)
config = PNConfiguration()
config.subscribe_key = 'sub-c-52a9ab50-291b-11e5-baaa-0619f8945a4f'
config.reconnect_policy = PNReconnectionPolicy.LINEAR
config.ssl = False
config.set_presence_timeout(60)
pubnub = PubNubTornado(config)
listener = BFSubscriberCallback()
pubnub.add_listener(listener)
pubnub.subscribe().channels(channels).execute()
pubnubThread = threading.Thread(target=pubnub.start)
pubnubThread.start()
この辺はpubnubの接続・コールバック処理登録です。
pubnubのドキュメント( https://www.pubnub.com/docs/python/pubnub-python-sdk )にあるように、コールバックを用意しておきconfigを作成しそのconfigを引数にPubNubオブジェクトを作りコールバックを登録して接続します。
↓コールバックを用意しておき
class BFSubscriberCallback(SubscribeCallback):
def message(self, pubnub, message):
execution = message.message
for i in execution:
executions.append(i)
↓configを作成し
config = PNConfiguration()
config.subscribe_key = 'sub-c-52a9ab50-291b-11e5-baaa-0619f8945a4f'
config.reconnect_policy = PNReconnectionPolicy.LINEAR
config.ssl = False
config.set_presence_timeout(60)
↓そのconfigを引数にPubNubオブジェクトを作り
pubnub = PubNubTornado(config)
↓コールバックを登録して
pubnub.add_listener(listener)
↓接続します
pubnub.subscribe().channels(channels).execute()
15分経ったので今日はここまで。
この記事が気に入ったらサポートをしてみませんか?