從延遲作業運行時,我收到了常規堆棧級別太深的錯誤。ruby delayed_job - 堆棧級別太深
我得到這個類似的錯誤是很多延誤工作的地方,但是當我在它工作正常控制檯線路運行相同的代碼行....
Mon Dec 24 2012 01:21:39 stack level too deep
Mon Dec 24 2012 01:21:39 /usr/lib/ruby/1.8/date/format.rb:157
:in `emit'/usr/lib/ruby/1.8/date/format.rb:171
:in `emit_w'/usr/lib/ruby/1.8/date/format.rb:176
:in `emit_n'/usr/lib/ruby/1.8/date/format.rb:244
:in `strftime'/usr/lib/ruby/1.8/date/format.rb:218
:in `gsub'/usr/lib/ruby/1.8/date/format.rb:218
:in `strftime'/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/date/conversions.rb:58
:in `to_s'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/quoting.rb:61
:in `quoted_date'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/quoting.rb:29
:in `quote'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:236
:in `quote'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2392
:in `quote_bound_value'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2352
:in `replace_bind_variables'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2352
:in `gsub'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2352
:in `replace_bind_variables'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2320
:in `sanitize_sql_hash_for_conditions'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2231
:in `sanitize_sql'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:1494
:in `merge_conditions'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:1492
:in `each'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:1492
:in `merge_conditions'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:1804
:in `add_conditions!'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:1687
:in `construct_finder_sql'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:1548
:in `find_every'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:1505
:in `find_initial'/usr/lib64/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:613
:in `find'/home/myapp/apps/myapp/releases/20121130183323/app/models/api_call.rb:20
:in `log'/home/myapp/apps/myapp/releases/20121130183323/lib/twitter_logger.rb:258
:in `log_to_db'/home/myapp/apps/myapp/releases/20121130183323/lib/twitter_logger.rb:138
:in `old_user_timeline'/home/myapp/apps/myapp/releases/20121130183323/lib/twitter_logger.rb:130
:in `user_timeline'/home/myapp/apps/myapp/releases/20121130183323/lib/influencer_helper.rb:1349
:in `safely_get_user_timeline'/home/myapp/apps/myapp/releases/20121130183323/lib/twitter_helper.rb:711
:in `store_followers_tweets'/home/myapp/apps/myapp/releases/20121130183323/lib/delayed_store_follower_tweets.rb:30
:in `perform'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:215
:in `invoke_job'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:93
:in `run_with_lock'/usr/lib/ruby/1.8/timeout.rb:67
:in `timeout'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:93
:in `run_with_lock'/usr/lib/ruby/1.8/benchmark.rb:308
:in `realtime'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:92
:in `run_with_lock'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:153
:in `reserve_and_run_one_job'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:152
:in `each'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:152
:in `reserve_and_run_one_job'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:199
:in `work_off'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:198
:in `times'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/job.rb:198
:in `work_off'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/worker.rb:28
:in `start'/usr/lib/ruby/1.8/benchmark.rb:308
:in `realtime'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/worker.rb:27
:in `start'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/worker.rb:24
:in `loop'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/worker.rb:24
:in `start'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/command.rb:68
:in `run'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/command.rb:46
:in `daemonize'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/application.rb:249
:in `call'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/application.rb:249
:in `start_proc'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/daemonize.rb:197
:in `call'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/daemonize.rb:197
:in `call_as_daemon'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/application.rb:253
:in `start_proc'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/application.rb:293
:in `start'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/controller.rb:70
:in `run'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons.rb:195
:in `run_proc'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/cmdline.rb:109
:in `call'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons/cmdline.rb:109
:in `catch_exceptions'/usr/lib64/ruby/gems/1.8/gems/daemons-1.1.4/lib/daemons.rb:194
:in `run_proc'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/command.rb:45
:in `daemonize'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/command.rb:43
:in `times'/home/myapp/apps/myapp/releases/20121130183323/vendor/gems/delayed_job-1.8.4/lib/delayed/command.rb:43
:in `daemonize'script/delayed_job:5
的代碼是太多包括在這個論壇。
所以我的問題是明確的是:
1)研究後,我的懷疑,我只是沒有足夠的堆棧空間。我看到我可以使用ulimit,但我不知道如何得到這個ulimit延遲工作,我在我的shell(.bashrc)中提高了ulimit,但似乎沒有幫助。任何人都可以確認,我剛剛出棧空間,如何解決? (這裏是我的想法:http://dalibornasevic.com/posts/5-ruby-stack-level-too-deep-systemstackerror)
2.)如果它不是ulimit,它可能是什麼,我怎麼能調試這....我沒有看到任何遞歸或循環在這個堆棧。
什麼是在控制檯中正常運行的代碼行? – Confusion
您要求我們從堆棧跟蹤中重新構建您的程序,並且在不向我們提供您正在使用的代碼摘要的情況下,我們無法提供幫助。 –
我認爲這是一個完全合法的問題,而且很清楚,這裏不需要顯示代碼。這是不公平的,你們關閉它,我看到很多類似的問題沒有答案,這是一個非常有用的問題,關於如何rubys堆棧系統與ulimit工作。 – Joelio