Heroku上的延迟作业不起作用

时间:2016-04-04 02:50:05

标签: ruby-on-rails-4 heroku delayed-job

我的应用程序在我的本地计算机上正常运行,该计算机具有16千兆的Ram使用' heroku local'命令使用Procfile启动dyno和worker。在延迟作业中排队的后台作业将逐个处理,然后清空表。当我在Heroku上运行时,它根本无法执行后台处理。它在我的日志文件中遇到以下内存不足消息:

2016-04-03T23:48:06.382070+00:00 app[web.1]: Using rack adapter
2016-04-03T23:48:06.382149+00:00 app[web.1]: Thin web server (v1.6.4 codename Gob Bluth)
2016-04-03T23:48:06.382154+00:00 app[web.1]: Maximum connections set to 1024
2016-04-03T23:48:06.382155+00:00 app[web.1]: Listening on 0.0.0.0:7557, CTRL+C to stop
2016-04-03T23:48:06.711418+00:00 heroku[web.1]: State changed from starting to up
2016-04-03T23:48:37.519962+00:00 heroku[worker.1]: Process running mem=541M(105.8%)
2016-04-03T23:48:37.519962+00:00 heroku[worker.1]: Error R14 (Memory quota exceeded)
2016-04-03T23:48:59.317063+00:00 heroku[worker.1]: Process running mem=708M(138.3%)
2016-04-03T23:48:59.317063+00:00 heroku[worker.1]: Error R14 (Memory quota exceeded)
2016-04-03T23:49:21.449475+00:00 heroku[worker.1]: Error R14 (Memory quota exceeded)
2016-04-03T23:49:21.449325+00:00 heroku[worker.1]: Process running mem=829M(161.9%)
2016-04-03T23:49:24.273557+00:00 app[worker.1]: rake aborted!
2016-04-03T23:49:24.273587+00:00 app[worker.1]: Can't modify frozen hash
2016-04-03T23:49:24.274764+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/attribute_set/builder.rb:45:in `[]='
2016-04-03T23:49:24.274771+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/attribute_set.rb:39:in `write_from_user'

我知道R14内存不足错误。所以我有两个问题:

  1. 无论如何,延迟的工作可以调整为减少内存。将涉及一些磁盘交换,但它最少会运行。

  2. 为什么我一直让佣金流产!无法修改冻结哈希错误(下面显示的日志底部的第4行和第5行)。我不知道在我的本地环境中。这是什么意思?与记忆有关吗?

  3. 提前感谢您的时间。我正在运行Rails 4.2.6和delayed_job 4.1.1,如下所示:

    → gem list | grep delayed
    delayed_job (4.1.1)
    delayed_job_active_record (4.1.0)
    delayed_job_web (1.2.10)
    

    巴勒特

0 个答案:

没有答案
相关问题