Използвам успешно delayed_job от няколко години, но наскоро имам нужда да внедря някакъв вид обратно извикване/куки за успех/неуспех.
Следвайки ръководството за delayed_job в github, настроих следната персонализирана задача:
class XmlImportJob < Struct.new(:file, :supplier_id, :user_id, :directory)
def perform
Product.xml_import(file, supplier_id, user, directory)
end
def success(job)
ProductMailer.xml_import_complete.deliver
end
def failure(job)
ProductMailer.xml_import_failed.deliver
end
end
Когато стартирам това с Delayed::Job.enqueue XmlImportJob.new(secure_url, 1, 1, directory)
например, получавам грешка Job failed to load: uninitialized constant XmlImportJob.
.
Опитах да запазя моята персонализирана работа, която е във файл с име xml_import.rb
под app/jobs и lib и получавам същата грешка.
В момента се опитах само да стартирам това чрез rails конзола. Дори при изрично извикване на require 'xml_import'
, което връща true, получавам същата грешка.
Някой с опит с успешно използване на персонализирани delayed_jobs има ли представа какво правя тук?
XMLImportJob
не е обект на опашка? Може да греша напълно тук, но съм сигурен, че трябва да създадете някакъв вид опашка, която след това можете да добавите към DelayedJob? - person Richard Peck   schedule 05.12.2013XmlImportJob' but the file is just
xml_import.rb' също така, че приложението/заданията не се зареждат автоматично. - person Raoot   schedule 05.12.2013XmlImportJob
:) - person Richard Peck   schedule 05.12.2013