Ruby on Rails Friday, August 21, 2015

Hi Matt,


I was having issues where I was getting undefined methods on my service objects, as if the service object was not being loaded into memory.   I've tried to recreate the problem, but I can not. It appears this is non reproducible and I must have had a stale environment or some other weird anomaly. 

Thanks for checking in,
Tyler
On Aug 20, 2015, at 5:55 PM, Matt Jones <al2o3cr@gmail.com> wrote:



On Friday, 7 August 2015 15:38:17 UTC-5, Tyler DeWitt wrote:
Hello,

I use RabbitMQ to transfer information from one component to another within my system. I have written a rake task which sets up the RabbitMQ client (the Bunny gem), then sets up a blocking listener so that I can process incoming messages.  When I run this rake task, I use the :environment task to load the rails app (the rake task relies on several models and service objects). 

When I deployed my system to production, I noticed that my Rabbit task was not working as expected. Digging into the log, I found that the service objects and models were not being loaded by rake. This was strange, since I called :environment.  Looking further into it, I've been informed that this is the expected behavior, that rake does not preload the rails environment in production.

I'm guessing I'm doing something wrong. Should I not be using rake to set up these listeners? If rake is acceptable, is there a way to test the load path so I see these errors before production?  Is :environment only designed to be used in development?

:environment should work everywhere - I've been using it in production rake tasks for years. Can you be more specific about how the task was "not working as expected"? If it failed to start, what was the error message? Try running it with `--trace` to capture the stack trace when it fails.

--Matt Jones 

--
You received this message because you are subscribed to a topic in the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rubyonrails-talk/IJxjpV5gbCA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/f7ecb2ee-9fa5-45c1-a486-69db67c9ba26%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment