我正在python中建立一个小型投票系统,我的计划是让客户要求用户进行投票并使用pubnub将其发送出去。然后,我想制作一个能够重新获得投票并将其全部计算在内的应用程序,但我找不到接收消息的方法。我这样做是对,还是有更好的方式,谢谢你的时间。
答案 0 :(得分:1)
您有几个选择。建议通过服务器使用PubNub存储和播放来汇总投票总数。您将获取频道上的历史记录并计算总票数。
pip install pubnub
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方法是最简单的选择。