Observadores Rails e DelayedJob

Quando você precisar usar observadores com DJ, não chame métodos de instância do observador de forma assíncrona. Você precisa fazer assim:

class UserObserver

def after_save(user)
self.class.do_something_with user
end

protected

class << self

def do_something_with user
some_hard_action_on_user user

end
handle_asynchronously
:do_something_with

end

end

DJ provavelmente teria um tempo interessante serializando e desserializando uma instância de observador, especialmente considerando que observadores são classes singleton.