请教各位编程牛人:如何在Steem的程序中实时获取用户的最新文章
如果你也在自己写Steem机器人的话,那么就不可避免的涉及到一个问题:如何能够实时获取某用户的最新文章信息?理想状态下就是有一个类似订阅的功能,APP中只要订阅相应的事件,比如指定用户发帖,一旦指定事件发生了,那么你的程序就会收到通知,你只要实现相应的接口就可以了。我在其他的应用环境中一直在使用类似的系统,比如JMS for Java, Resque for Rails,可是查阅了一下Steem的文档,似乎没有这种自动订阅的功能。不知道大家怎样来实现?我能想到的有以下几种可能:
- 设定一个cron job,每隔x分钟自动运行一次,每次运行时取检查用户的最新文章。这种方法很容易实现,但比较笨也很耗资源。
- 查询steemsql数据库,但数据库中的数据有延迟,因此不可行。
- 似乎也有过几个提供这样通知功能的Steem项目,但是都不尽理想。比如:有的不提供API,有的则不够成熟/好用。
大家来说说?
好奇这个怎么实现,占位,坐等
哈哈,我陪你坐等
握爪握爪
直接用 steem 官方的库 操作区块链,不行么?
用Python库读取区块链还是要主动发出请求,而不是自动的获取通知啊。这和第一种方法没有本质区别。
祝你今天心情愉悦!cn区点赞机器人 @cnbuddy 谢谢你对cn区的贡献。 @cnbuddy 旨在助力cn区快速发展,更多cn区动态,请查看我的主页。倘若你想让我隐形,请回复“取消”。
取消
多少天你都不发帖,一发帖就问这么高精尖的问题,我觉得你是在憋一个大招。
哈哈,发帖太累了。是在琢磨一些好玩的steem app。
有没有试过在 travis 建立个 crontab?
没试过,回头看下。但感觉还是Pull请求,而不是消息推送
那就pull呗,反正在别人服务器上,不耗你自己的资源。
它家的cronjob只支持daily, weekly or monthly,远远达不到我的要求啊,还不如在自己的VM上搞。
https://docs.travis-ci.com/user/cron-jobs/
你想自动的话,只能自己搭建一个seed node, 区块链大约每3s产生一个块,seed node自动接收到后,你解析那个块的内容。其实效果也和pull mode差不多。O哥写过一个类似的
谢谢你的建议。这种方式还是Pull请求,而不是我想要的消息推送。感觉可以搭建一个这样的节点,把所有的块同步到一个消息服务器上,这样在APP端就可以订阅消息推送了。
节点应该支持 websocket 连接, 按理说 websocket 支持通知的, 不过好像没看到过 steem 有 websocket 接口文档
是啊
留名學習
一同学习
do you can speak in English ?
Yes I do.
Congratulations @yuxi! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP