あっちのスクリプトもこっちのスクリプトもpubnubやwebsocketで接続して、、、
とやってたら、同じチャンネルに接続して、同じデータを複数受信してるという状況になってたので、
スクリプト毎に接続するのではなくて、1つのsubscriberで受信し、
ローカルにpublisherを作って、それからデータを受信するようにするのがいいかも

と考えやってみました
こんな感じでpubnubで受信したものをzmqのpubでローカルホストの適当なポートに送出します
とりあえず send_json, recv_json を使ってデータをやり取りするようにしました

こんな感じで受信できました


pubnubで受信したときzmq_pubで送る前に配列にデータを入れて保持して、
req/repで溜まってるデータを取得できるようなのも書いてみました
pubnubだけだと過去の分が取れないので、売買プログラムやグラフ表示プログラムを起動した瞬間に
手軽にある程度過去の情報を使えるのはいいかもしれません
貯めてあるデータを読み込んで表示し、それ以降はsubで受信したデータで更新するのも書いてみました
こんな感じ

あと、簡単にではありますが
send, recv
send_string, recv_string
send_json, recv_json
send_pyobj, recv_pyobj
の送受信回数も調べてみました
データは {'data':int} こんな感じの辞書を送り続ける感じです
recvは1秒間取得した回数です

予想外にsend_pyobj, recv_pyobjが速かった
送受信の前後でpickle.dumps, pikle.loadsを使ってるみたいです
numpy配列なんかも送れた なるほど、いいっすね(´・ω・`)
bitflyerのデータって秒間何回くらいくるんだっけ?と思ってみて見たら
(BTC_JPY, FX_BTC_JPYのticker, executions, boardを受信)

こんな感じでしたので(状況によってだいぶ差はあると思いますが)
まぁsend_json, recv_jsonでも処理が追いつかないということにはならなそうです
試したスクリプトです
( ´・ω・`)つ https://ux.getuploader.com/hage_fx/download/44
ラインチャート等のスクリプトはbf_pub.pyを起動させた状態で起動すれば
動くようになってるはずです
※board_snapshotが5分に1回くらいしか送られてこなくて
pubnubだけだといつの間にか板がずれることがある気がしますが(いや、ある)
アップロードした板のやつは途中でgetboardする処理は入っていませんので
よろしくお願いします(´・ω・`)