小编Ste*_*ens的帖子

sidekiq不会在heroku上使用Redistogo生成sidekiq.pid文件

我一直在为herki生产环境中的sidekiq工作而奋斗了两天.我已经阅读了有关类似问题的所有可用文档,但仍然无法生成有效的解决方案,我真的很喜欢一些帮助!

在heroku上部署后,我的应用程序崩溃,我得到以下错误堆栈跟踪:

2014-09-23T23:38:40.905093+00:00 app[worker.1]: No such file or directory @ rb_sysopen - /app/tmp/pids/sidekiq.pid
2014-09-23T23:38:40.905122+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.1.0/bin/sidekiq:23:in `<main>'
2014-09-23T23:38:40.905119+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.1.0/gems/sidekiq-3.2.5/bin/sidekiq:7:in `<top (required)>'
2014-09-23T23:38:40.905117+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.1.0/gems/sidekiq-3.2.5/lib/sidekiq/cli.rb:347:in `write_pid'
2014-09-23T23:38:40.905115+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.1.0/gems/sidekiq-3.2.5/lib/sidekiq/cli.rb:347:in `open'
2014-09-23T23:38:40.905121+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.1.0/bin/sidekiq:23:in `load'
2014-09-23T23:38:40.905118+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.1.0/gems/sidekiq-3.2.5/lib/sidekiq/cli.rb:41:in `parse'
2014-09-23T23:38:40.905114+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.1.0/gems/sidekiq-3.2.5/lib/sidekiq/cli.rb:347:in `initialize'
2014-09-23T23:38:39.588001+00:00 heroku[worker.1]: State changed from starting to up
Run Code Online (Sandbox Code Playgroud)

首先,sidekiq在我的本地机器上正常工作.我正在使用heroku的REDISTOGO进行redis,在本地制作中,sidekiq已正确指向REDISTOGO且运行良好.

第二,根据堆栈轨迹,特别是这条线No such file or directory @ rb_sysopen - /app/tmp/pids/sidekiq.pid; 它让我认为,由于某种原因sidekiq.pid,在heroku上运行时文件没有正确生成.在本地环境中,sidekiq.pid每次在app/tmp/pids/目录中启动应用程序时都会生成文件,并且pid每次都会分配不同的编号.我就是guessing在heroku上运行时,sidekiq试图从这个文件中读取但却找不到它.

这是我的内容Procfile:

web: bundle …
Run Code Online (Sandbox Code Playgroud)

pid ruby-on-rails heroku redistogo sidekiq

19
推荐指数
3
解决办法
8366
查看次数

如何找到重复字母数最多的单词

我的目标是找到给定字符串中具有最多重复字母数的单词.例如,"aabcc ddeeteefef iijjfff"会返回,"ddeeteefef"因为"e"在这个单词中重复了五次,这比所有其他重复的字符多.

到目前为止,这是我得到的,但它有很多问题,并不完整:

def LetterCountI(str)
  s = str.split(" ")
  i = 0
  result = []
  t = s[i].scan(/((.)\2+)/).map(&:max) 
  u = t.max { |a, b| a.length <=> b.length }
  return u.split(//).count 
end
Run Code Online (Sandbox Code Playgroud)

我只能找到连续模式的代码; 如果模式被中断(例如"aabaaa",它会计数三次而不是五次).

ruby

5
推荐指数
2
解决办法
1905
查看次数

标签 统计

heroku ×1

pid ×1

redistogo ×1

ruby ×1

ruby-on-rails ×1

sidekiq ×1