Tôi cố gắng để sử dụng delayed_job trên Heroku và tôi nhận được lỗi sau:Không thể enqueue mục mà không đáp ứng với thực hiện - delayed_job trên Heroku
Cannot enqueue items which do not respond to perform
Tôi đang sử dụng plugin http://github.com/pedro/delayed_job
tôi đang sử dụng các nhiệm vụ sau đây cron cào (cron.rake):
task :cron => :environment do
require 'heroku'
puts "starting the cron job at #{Date.today}"
heroku = Heroku::Client.new(ENV['HEROKU_USER'], ENV['HEROKU_PASS'])
heroku.set_workers(ENV['HEROKU_APP'], 1)
Contact.all.each do |contact|
email = contact.email_today #email_today is a contact method returning email object if <= today
unless contact.email_today == "none"
puts contact.first_name
puts email.days
puts contact.date_entered
puts email.substituted_subject(contact,contact.colleagues)
# create the Contact Email object that gets created and sent
contact_email = ContactEmail.new
contact_email.contact_id = contact.id
contact_email.email_id = email.id
contact_email.subject = email.substituted_subject(contact,contact.colleagues)
contact_email.date_sent = Date.today
contact_email.date_created = Date.today
contact_email.body = email.substituted_message(contact, contact.colleagues)
contact_email.status = "sent"
Delayed::Job.enqueue OutboundMailer.deliver_campaign_email(contact,contact_email)
contact_email.save #now save the record
puts "save contact_email:"
puts contact_email.inspect
end #end unless
end #end do
heroku.set_workers(ENV['HEROKU_APP'], 0)
puts "set heroku workers to 0"
end
Đây là bưu phẩm tôi đang sử dụng:
class OutboundMailer < Postage::Mailer
def campaign_email(contact,email)
subject email.subject
recipients contact.email
from 'Me <[email protected]>'
sent_on Date.today
body :email => email
end
Câu hỏi: Tại sao tôi gặp lỗi và tôi có thể làm gì để giải quyết vấn đề này?
cũng có thể đọc tài liệu http://github.com/pedro/delayed_job. của nó tất cả có –
Hi, sẽ làm - Tôi đọc nó nhưng một người nào khác trên SO nói để làm điều đó như mô tả như vậy là không chắc chắn .... cách tiếp cận của bạn là rất rõ ràng hơn, cảm ơn. – Angela