首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Heroku上启动sidekiq时出错,缺少sidekiq.log文件崩溃

问在Heroku上启动sidekiq时出错,缺少sidekiq.log文件崩溃
EN

Stack Overflow用户
提问于 2015-05-03 18:33:27
回答 1查看 1.5K关注 0票数 2

我刚开始使用sidekiq & redis,并试图让sidekiq在Heroku上运行,但每次我部署Rails 4应用程序时,它似乎都会崩溃。我在文献记录中发现了这个错误:

代码语言:javascript
复制
May 03 11:16:37 myapp app/worker.1:  No such file or directory @ rb_sysopen - ./log/sidekiq.log 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/ruby-2.2.0/lib/ruby/2.2.0/logger.rb:636:in `initialize' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/ruby-2.2.0/lib/ruby/2.2.0/logger.rb:636:in `open' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/ruby-2.2.0/lib/ruby/2.2.0/logger.rb:636:in `create_logfile' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/ruby-2.2.0/lib/ruby/2.2.0/logger.rb:630:in `rescue in open_logfile' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/ruby-2.2.0/lib/ruby/2.2.0/logger.rb:627:in `open_logfile' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/ruby-2.2.0/lib/ruby/2.2.0/logger.rb:584:in `initialize' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/ruby-2.2.0/lib/ruby/2.2.0/logger.rb:318:in `new' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/ruby-2.2.0/lib/ruby/2.2.0/logger.rb:318:in `initialize' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/bundle/ruby/2.2.0/gems/sidekiq-3.3.4/lib/sidekiq/logging.rb:31:in `new' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/bundle/ruby/2.2.0/gems/sidekiq-3.3.4/lib/sidekiq/logging.rb:31:in `initialize_logger' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/bundle/ruby/2.2.0/gems/sidekiq-3.3.4/lib/sidekiq/cli.rb:344:in `initialize_logger' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/bundle/ruby/2.2.0/gems/sidekiq-3.3.4/lib/sidekiq/cli.rb:39:in `parse' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/bundle/ruby/2.2.0/gems/sidekiq-3.3.4/bin/sidekiq:7:in `<top (required)>' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/bundle/ruby/2.2.0/bin/sidekiq:23:in `load' 
May 03 11:16:37 myapp app/worker.1:  /app/vendor/bundle/ruby/2.2.0/bin/sidekiq:23:in `<main>' 
May 03 11:16:38 myapp heroku/worker.1:  State changed from up to crashed 
May 03 11:16:38 myapp heroku/worker.1:  Process exited with status 1 

我正在使用RedisToGo加法。以下是我的配置:

sidekiq.yaml

代码语言:javascript
复制
---
development:
  :concurrency: 10
production:
  :concurrency: 20

:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
- default
- mailers
- [high_priority, 2]

Procfile

代码语言:javascript
复制
worker: bundle exec sidekiq -c 2 -v config/sidekiq.yml
web: bundle exec puma -p $PORT

sidekiq.rb

代码语言:javascript
复制
require 'sidekiq'

ENV["REDISTOGO_URL"] ||= "redis://localhost:6379"

Sidekiq.configure_server do |config|
  config.redis = { url: ENV["REDISTOGO_URL"], :size => 4  }

  database_url = ENV['MYAPP_DATABASE_URL']
  if database_url
    ENV['MYAPP_DATABASE_URL'] = "#{database_url}?pool=50"
    ActiveRecord::Base.establish_connection
  end

end


Sidekiq.configure_client do |config|
  config.redis = { url: ENV["REDISTOGO_URL"], :size => 1 }
end

my_var.rb

代码语言:javascript
复制
 ENV['REDISTOGO_URL'] = 'redis:/myredistogourl/'
  ENV['PROVIDER_URL'] = ENV['REDISTOGO_URL']

我应该注意,我确实有一个log/ file kiq.log文件。另外,我以前也给过日志文件,但现在没有了。我已经检查过他们在查我的另一辆警报器。sidekiq.log文件在那里.只是没有被找到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-03 23:27:35

从config.yml中删除pidfile和logfile行。你在追Heroku,他们没有任何意义。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30017783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档