我正在尝试在Heroku上执行ruby守护程序无框架应用程序,但在尝试执行该工作程序后它崩溃了:
heroku[worker.1]: State changed from crashed to starting
heroku[worker.1]: Starting process with command `bundle exec rake twitter:start`
heroku[worker.1]: State changed from starting to up
heroku[worker.1]: Process exited with status 0
heroku[worker.1]: State changed from up to crashed
该应用程序基本上通过一堆API收集数据,并将其保存在远程MongoHQ实例上。
rake任务是:
dir_path = File.expand_path('../', __FILE__)
namespace :twitter do
desc 'Start Twitter daemon'
task :start do
exec "#{dir_path}/bin/autana start"
end
...
end
Procfile非常简单:worker: bundle exec rake twitter:start
执行守护程序的代码如下:
#!/usr/bin/env ruby
require 'daemons'
require File.expand_path('../../lib/autana', __FILE__)
Daemons.run_proc('autana', multiple: true, no_pidfiles: true) do
client = Autana::Client::Twitter.new
client.collect
end
有什么想法吗?
答案 0 :(得分:0)
你能动态运行吗?
heroku run rake twitter:start
答案 1 :(得分:0)
所以,这是一个MongoDB错误。数据没有正确关联。进入控制台并更改文档后,一切都按预期工作。