我有一个脚本,它使用具有eventmachine的gem来侦听API调用(它是slack-api gem)。
在我的开发环境中,我只需运行bundle exec ruby ruby_slack.rb,控制台就会显示它正在侦听。当API调用命中时,我会看到stdout。
我如何在heroku中拥有相同的行为?
我创建了一个包含:web: bundle exec ruby slack.rb的Procfile,但我认为它只是在等待web应用程序的请求来运行它。
我想让它运行(并保持运行),侦听事件。
谢谢。
发布于 2015-08-03 01:22:30
您需要一个在Heroku请求它响应的端口上响应的web服务器,以及一个用于websocket处理的线程。例如Sinatra:
require 'sinatra/base'
module MyBot
class Web < Sinatra::Base
get '/' do
'Hello world.'
end
end
end
Thread.new do
# run your Slack RealTime bot here
end
run MyBot::Web这是在this tutorial中捕获的。通常也可以试试slack-ruby-bot,它会帮你完成所有繁重的工作。
https://stackoverflow.com/questions/30950622
复制相似问题