Thank you Pedro.   Though I don't think we are on the same page.

I work locally and confirm my app is working, which it is, then I push
it up for deployment.

- So I don't know why the fetch() acts differently locally then it
does when it is deployed?

Here is the algorithm: (I am open to suggestions)

I am using a single instance of the scheduler so that I do not have to
track the scheduler instances in parallel with the job_ids.  Because,
I don't think I need a new Scheduler for each job I wish to schedule.
Here is how I am using rufus and Rails.cache:

I am doing 'rufus.unschedule(job_id)' in my controller.  I do
unschedule() to stop my scheduled job(s).  I get the instance of the
rufus scheduler from the cache by doing 'rufus =
Rails.cache.read(:rufus)'.

Before I get the rufus scheduler in my controller (above) the rufus
scheduler instance is set in my model, by doing:
'Rails.cache.fetch(:rufus) {Rufus::Scheduler.start_new}'

Thanks,

Trying ToRor.

On Sep 26, 2:37 pm, Pedro Belo <[EMAIL PROTECTED]> wrote:
> I think the problem is you're trying to put/get from the cache one
> instance of Rufus::Scheduler, not the result of your scheduled job. If
> you want the former, you should call Rails.cache.fetch inside your
> Rufus job.
>
> Makes sense? If not please explain what you're trying to fetch from
> the cache.
>
> On Sep 26, 10:26 am, ChasManRors <[EMAIL PROTECTED]> wrote:
>
> > No luck.  Same problem
>
> > I tried to invoke gem before I do a fetch by putting the following in
> > my model.
>
> >   # Bug in cash loading workaround thanks tony, but not yet working
> >   x = Rufus::Scheduler.start_new
> >   Rails.cache.fetch(:rufus) {Rufus::Scheduler.start_new
>
> > I also started a console and assigned
> >  x = Rufus::Scheduler.start_new
>
> > I may have misunderstood your point, or perhaps it is something
> > else.
>
> > thanx
>
> > On Sep 26, 10:09 am, "tony luo" <[EMAIL PROTECTED]> wrote:
>
> > >  I met the same problem.
>
> > > It is because that you use your own data structure and Rails haven't 
> > > loaded
> > > it yet.
>
> > > You can invoke this object before you read from cache to solve this 
> > > problem.
>
> > > On Fri, Sep 26, 2008 at 9:41 PM, ChasManRors <[EMAIL PROTECTED]> wrote:
>
> > > > Works locally but I get the following trace when running deployed app:
>
> > > >  TypeError in TasksController#index
>
> > > > no marshal_dump is defined for class Thread
>
> > > > RAILS_ROOT: /mnt/home/userapps/33901
> > > > Application Trace | Framework Trace | Full Trace
>
> > > > /usr/lib/ruby/gems/1.8/gems/memcache-client-1.5.0/lib/memcache.rb:
> > > > 300:in `dump'
> > > > /usr/lib/ruby/gems/1.8/gems/memcache-client-1.5.0/lib/memcache.rb:
> > > > 300:in `set'
> > > > /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
> > > > cache/mem_cache_store.rb:37:in `send'
> > > > /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
> > > > cache/mem_cache_store.rb:37:in `write'
> > > > /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
> > > > cache.rb:71:in `fetch'
> > > > app/models/task.rb:9
> > > > app/controllers/tasks_controller.rb:10
> > > > /home/userapps_plugins/preload/request_timeout/lib/request_timeout.rb:
> > > > 9
> > > > /home/userapps_plugins/preload/request_timeout/lib/request_timeout.rb:
> > > > 8
> > > > /home/heroku_rack/lib/toolbar.rb:16
> > > > /usr/bin/thin:19:in `load'
> > > > /usr/bin/thin:19
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Heroku" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to