Resque: rake resque:첫 번째 μž‘μ—…μ—μ„œ μ΄ˆκΈ°ν™”λ˜μ§€ μ•Šμ€ μƒμˆ˜ 였λ₯˜κ°€ λ°œμƒν•˜λ©΄ μž‘μ—…μ΄ μ‹œμž‘μ„ μ€‘λ‹¨ν•©λ‹ˆλ‹€.

에 λ§Œλ“  2013λ…„ 04μ›” 17일  Β·  11μ½”λ©˜νŠΈ  Β·  좜처: resque/resque

AFAIK, 이것은 1.23.0μ—μ„œ 1.24.1둜 λ³€κ²½λœ κ²ƒμž…λ‹ˆλ‹€. resque의 λΆ„κΈ° μ•„ν‚€ν…μ²˜κ°€ 주어지면 μ—¬κΈ°μ—μ„œ μ˜λ„ν•œ λ™μž‘μ€ μƒμœ„ ν”„λ‘œμ„ΈμŠ€κ°€ 계속 μ‹€ν–‰λ˜κ³  μž‘μ—…μ„ μ‹€νŒ¨ λŒ€κΈ°μ—΄μ— λ„£κ³  λ‹€μŒμœΌλ‘œ μ΄λ™ν•˜λŠ” 것이라고 μƒμƒν•©λ‹ˆλ‹€. λ˜ν•œ μ΅œμ‹  버전에 μΆ”κ°€λœ μƒˆλ‘œμš΄ "포크 κΈˆμ§€" 섀정을 μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

Bug Hard

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이에 λŒ€ν•œ 해결책이 μžˆμŠ΅λ‹ˆκΉŒ?

λͺ¨λ“  11 λŒ“κΈ€

λ‹€μŒμ€ μ—­μΆ”μ μž…λ‹ˆλ‹€.

β†’ VVERBOSE=1 QUEUE=* bundle exec ./bin/rake environment resque:work
** [02:52:25 2013-04-17] 30473: Starting worker 12-345-67-890:1234:*
** [02:52:25 2013-04-17] 30473: Registered signals
** [02:52:25 2013-04-17] 30473: Pruning dead worker: 12-345-67-890:2345:*
** [02:52:25 2013-04-17] 30473: Failed to start worker : #<NameError: uninitialized constant JobClassThatNoLongerExists>

[GEM_ROOT]/gems/resque-1.24.1/lib/resque/helpers.rb:88:in `block in constantize`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/helpers.rb:82:in `each`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/helpers.rb:82:in `constantize`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/job.rb:166:in `payload_class`
[GEM_ROOT]/gems/newrelic_rpm-3.6.0.78/lib/new_relic/agent/instrumentation/resque.rb:49:in `payload_class`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/job.rb:217:in `failure_hooks`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/job.rb:223:in `run_failure_hooks`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/job.rb:177:in `fail`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/worker.rb:464:in `unregister_worker`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/worker.rb:176:in `rescue in work`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/worker.rb:130:in `work`
[GEM_ROOT]/gems/resque-1.24.1/lib/resque/tasks.rb:41:in `block (2 levels) in <top (required)>`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/task.rb:228:in `call`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/task.rb:228:in `block in execute`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/task.rb:223:in `each`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/task.rb:223:in `execute`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/task.rb:166:in `block in invoke_with_call_chain`
/home/deploy/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/task.rb:159:in `invoke_with_call_chain`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/task.rb:152:in `invoke`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:143:in `invoke_task`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:101:in `block (2 levels) in top_level`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:101:in `each`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:101:in `block in top_level`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:110:in `run_with_threads`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:95:in `top_level`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:73:in `block in run`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling`
[GEM_ROOT]/gems/rake-10.0.3/lib/rake/application.rb:70:in `run`
[GEM_ROOT]/gems/rake-10.0.3/bin/rake:33:in `<top (required)>`
/var/www/payments/current/bin/rake:16:in `load`
/var/www/payments/current/bin/rake:16:in `<main>`

예, 이것은 ν™•μ‹€νžˆ μž‘μ—…μžλ₯Ό 죽이지 μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

이 티켓을 μ—…λ°μ΄νŠΈν•˜κΈ°λ§Œ ν•˜λ©΄ -- 이것이 resque-schedulerμ—μ„œ 온 μž‘μ—…μ΄λΌλŠ” 점을 μ–ΈκΈ‰ν•  κ°€μΉ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€. 거기에 μ½”λ“œ κ²½λ‘œκ°€ λ‹€λ₯Έμ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ μ–΄λ–€ μ‹μœΌλ‘œλ“  이λ₯Ό 증λͺ…ν•˜λŠ” 사양을 μž‘μ„±ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

ꡉμž₯ν•©λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€.

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ–»κ²Œ ν”Όν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

λ˜ν•œ 여기에 μ§ˆλ¬Έμ„ κ²Œμ‹œν–ˆμŠ΅λ‹ˆλ‹€.
http://stackoverflow.com/questions/16802948/ignoring-unregister-worker-in-resque

이것도 보고. 역좔적이 μ—†κΈ° λ•Œλ¬Έμ— μž‘μ—…μ— #<NameError: uninitialized constant MyConstant> 였λ₯˜κ°€ λ°œμƒν•˜λŠ” 이유λ₯Ό μΆ”μ ν•˜κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€. 이것이 λ‚΄κ°€ λ³΄λŠ” μ „λΆ€μž…λ‹ˆλ‹€.

** Invoke environment (first_time)
** Execute environment
** Invoke resque:work (first_time)
** Invoke resque:preload (first_time)
** Invoke resque:setup (first_time)
** Execute resque:setup
** Execute resque:preload
** Invoke resque:setup
** Execute resque:work
*** Starting worker job21:8278:job_name
*** Registered signals
*** Pruning dead worker: job21:6807:job_queue
*** Failed to start worker : #<NameError: uninitialized constant MyConstant>

이에 λŒ€ν•œ 해결책이 μžˆμŠ΅λ‹ˆκΉŒ?

λΆ€λͺ¨λ₯Ό μ£½μ΄λŠ” NameError λŒ€ν•œ 해결책이 μžˆμ§€λ§Œ λ¨Όμ € 이 문제λ₯Ό μž¬ν˜„ν•˜λŠ” 방법을 μ°Ύμ•„ μ‹€μ œλ‘œ ν•΄κ²°ν•˜λŠ”μ§€ ν™•μΈν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 클래슀둜 μž‘μ—…μ„ λŒ€κΈ°μ—΄μ— λ„£μ–΄ 문제λ₯Ό μž¬ν˜„ν•  수 μžˆλ‹€κ³  λ§ν•˜λŠ” 것이 μ •ν™•ν•œκ°€μš”?

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. NameError에 λŒ€ν•œ 해결책이 μžˆμŠ΅λ‹ˆκΉŒ?

λ‚΄κ°€ λ§ν–ˆλ“―μ΄ λ‚˜λŠ” 해결책이 μžˆλ‹€κ³  μƒκ°ν•˜μ§€λ§Œ λ¨Όμ € 문제λ₯Ό μ•ˆμ •μ μœΌλ‘œ μž¬ν˜„ν•  수 있기λ₯Ό λ°”λžλ‹ˆλ‹€.

λ‚˜λŠ” ν΄λž˜μŠ€κ°€, λ‚΄κ°€ Contentful μŠ€μΌ€μ€„λŸ¬ μ‚¬μš©ν•˜κ³  λ°œκ²¬λ˜μ§€ μ•ŠλŠ” 것과 같은 λ¬Έμ œμ— μ§λ©΄ν•˜κ³ μžˆλ‹€ https://github.com/contentful/contentful-scheduler.rb을 κ²Œμ‹œν•˜κ³  κ²Œμ‹œ μ·¨μ†Œ λ‚΄μš©μ„ 만 λ‚΄μš©μ„ κ²Œμ‹œ μ·¨μ†Œν•˜λŠ” λ™μ•ˆ λ¬΄μž‘μœ„λ‘œμ΄ 였λ₯˜κ°€

μ΄ˆκΈ°ν™”λ˜μ§€ μ•Šμ€ μƒμˆ˜ Contentful::Scheduler::Tasks::Unpublish λ§μ”€ν•˜μ‹ κ±΄κ°€μš”? Contentful::Scheduler::Tasks::Publish
/root/.gem/ruby/gems/resque-1.27.4/lib/resque.rb:96:in block in constantize' /root/.gem/ruby/gems/resque-1.27.4/lib/resque.rb:90:in 각'
/root/.gem/ruby/gems/resque-1.27.4/lib/resque.rb:90:in `constantize'

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰