Hey we have a library class (lib/Mixpanel) that calls delayed job as follows:
class Mixpanel
attr_accessor :options
attr_accessor :event
def track!()
..
dj = send_later :access_api # also tried with self.send_later
..
end
def access_api
..
end
The problem is that when we run rake jobs:work: we get the following error:
undefined method `access_api' for #<YAML::Object:0x24681b8>
Any idea why?
Delayed_job always autoloads ActiveRecord classes, but it doesn't know about other types of classes (like lib) that it has marshaled in the db as YML. So, you need to explicitly trigger the class loader for them. Since DJ starts up the Rails environment, just mention any non-AR marshaled classes in an initializer:
(config/initializers/load_classes_for_dj.rb)
Mixpanel
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With