在python中订阅PubNub

时间:2014-10-31 23:03:52

标签: python-2.7 publish-subscribe pubnub

我正在python中建立一个小型投票系统,我的计划是让客户要求用户进行投票并使用pubnub将其发送出去。然后,我想制作一个能够重新获得投票并将其全部计算在内的应用程序,但我找不到接收消息的方法。我这样做是对,还是有更好的方式,谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

PubNub使用Python进行投票

您有几个选择。建议通过服务器使用PubNub存储和播放来汇总投票总数。您将获取频道上的历史记录并计算总票数。

PubNub PIP包

pip install pubnub

Python中的Tally投票

from Pubnub import Pubnub

## Init PubNub
pubnub = Pubnub( publish_key="demo", subscribe_key="demo", ssl_on=False )

## Total Votes
last_tt      = 0
total_votes  = 0
vote_chan    = "my_vote_channel"
results_chan = "my_vote_channel.results"

## Tally Callback Function (Sum up the Votes...)
def tally(response):
    print(response)
    total_votes += len(response[0])
    last_tt = response[1]

## Loop Continuously on the last known TIMETOKEN
pubnub.history({ channel : vote_chan, callback : tally, start : last_tt })

## Periodically Publish to the Results Channel 
pubnub.publish({ channel : results_chan, message : { "total" : total_votes } })

使用PubNub History方法是最简单的选择。