我想创建一个bot,它使API每分钟对一些API url请求发出请求。然后,如果数据条目在API Feed中与他的名称相比发生了变化,则需要ping特定用户。我想要在Heroku上免费获得解决方案。这可以实现吗?heroku上的API轮询机器人
回答
是的,heroku支持瘦Web服务器,这是一个EventMachine启用,所以一个简单的方法是编写一个快速的sinatra应用程序,并使用EM.add_periodic_timer为您的API调用。当你将这个sinatra应用程序部署到heroku时,它将默认使用thin,所以不需要额外的配置。假设你的config.ru是正确的,你可以通过thin start -p 4567
进行测试。这是一个非常标准的,假设你的应用程序是在app.rb:
require 'bundler/setup'
Bundler.require :default
require File.expand_path('app', File.dirname(__FILE__))
run Sinatra::Application
我目前检查一些网站在heroku上的免费状态。秘密?鲁弗斯 - Scheduer。
安装宝石
gem install rufus-scheduler
确保您在成束或不过要包括它的宝石。
然后您需要创建一个名为task_scheduler.rb
的文件并将其粘贴在initializers
目录中。
require 'rufus/scheduler'
scheduler = Rufus::Scheduler.start_new
scheduler.every '1m' do
url = "http://codeglot.com"
response = Net::HTTP.get_response(URI.parse(url))
#do stuff with response.body
end
如果您有任何问题,你可以看到这个博客帖子:
http://intridea.com/2009/2/13/dead-simple-task-scheduling-in-rails?blog=company
我不想制作一个rails应用程序。 Sinatra很好,但没有Rails。 Rails会过度杀伤。 – rightskewed
它是如何矫枉过正。我可以在5分钟内从字面上理解这一点。 – s84
我个人比较喜欢Sinatra而不是RAils。 – rightskewed
- 1. 创建轮询机器人
- 2. 在Heroku上运行IRC机器人
- 3. 用于机器人上的车轮编码器的Python线程
- 4. 的libjpeg涡轮机器人JPEG压缩
- 5. 的Heroku,PHP,exec和电报机器人
- 6. Heroku个人主机
- 7. 机器人猴转轮脚本
- 8. 胡椒机器人轮控制
- 9. 从顶置凸轮跟踪机器人
- 10. Heroku上需要工人测功机吗?
- 11. USB轮询机制
- 12. heroku上的链轮max-age header
- 13. heroku上的主机信令服务器
- 14. 在机器人机器人
- 15. 强制通道API轮询
- 16. 内viewpager的YouTube API [机器人]
- 17. 机器人的YouTube API凌空例外
- 18. NETWORK_PROVIDER在机器人版本4.0或以上/ API级14以上
- 19. 更新基于Maven的机器人的建造轮廓
- 20. Heroku上的Instagram API调用速度比本地机器上快吗?
- 21. Json解析器从Instagram的API api机器人
- 22. asp.net MVC上机器人
- 23. 检测服务器上的机器人?
- 24. 在Heroku上运行WSO2 API管理器
- 25. 在Heroku Memcachier上配置Django Cache机器?
- 26. Heroku上的主机文件
- 27. 用API聊天对话机器人? (cleverbot)
- 28. 关于从电报机器人API
- 29. 谷歌地图API块机器人吗?
- 30. 不和谐机器人与YouTube API
我应该注意的是,如果你想在西纳特拉的应用程序仍然响应,检查出EM-HTTP请求拨打电话。如果你不喜欢回调,请查看em-synchrony和sinatra-synchrony –