मैं जानना चाहता हूं कि मुझे इस परियोजना के साथ कैसे जाना चाहिए। मुझे सप्ताह में एक बार लोगों को ईमेल भेजने की जरूरत है। हालांकि इसे ऑटो जेनरेट किया जाना चाहिए और हर हफ्ते एक निश्चित समय पर भेजा जाना चाहिए। कोड के लिए यह कितना मुश्किल है? मुझे यह जानने की ज़रूरत है कि अगर कोई ऐसी किताबें हैं जो मदद की हो सकती हैं या यदि आप में से कोई मुझे निर्देश दे सकता है। इसे रेल पर रूबी का उपयोग करके प्रोग्राम किया जाना है। इसलिए एक वेब सेवा और डेटाबेस एकीकृत है। चीयर्सरेल पर रूबी - किसी विशेष समय पर ईमेल को संदेश भेजने की आवश्यकता है एक सप्ताह में
उत्तर
यह जटिल क्यों है?
आपको नौकरी निर्धारित करने की आवश्यकता है। उदाहरण के लिए आप Delayed::Job
का उपयोग कर सकते हैं। Delayed::Job
आप इस तरह run_at
प्रतीक का उपयोग विशिष्ट समय पर एक नौकरी शेड्यूल करने के लिए संभावना प्रदान करता है:
Delayed::Job.enqueue(SendEmailJob.new(...), :run_at => scheduled_at)
अपनी नौकरी एक वर्ग perform
विधि लागू करने के लिए किया है। इस विधि के अंदर आप ईमेल भेजने के लिए जिम्मेदार मेलर को कॉल कर सकते हैं। scheduled_at
डेटाबेस पर संग्रहीत किया जा सकता है और प्रत्येक बार perform
विधि रन अपडेट किया जाता है।
पुस्तकों के लिए, Rails Recipes का अध्याय 6 ईमेल के लिए समर्पित है। Advanced Rails Recipes पुस्तक में असिंक्रोनस प्रोसेसिंग और ईमेल पर अध्याय हैं। railscast भी sending email पर समर्पित हैं और custom deamons लिख रहे हैं।
आवर्ती कार्यों को निर्धारित करने के लिए आप whenever
जैसे मणि का उपयोग कर सकते हैं।
every :sunday, :at => '12pm' do
runner "User.send_emails"
end
शायद तुम कोशिश कर सकते हैं clockwork
require 'clockwork'
include Clockwork
handler do |job|
puts "Running #{job}"
end
every(10.seconds, 'frequent.job')
every(3.minutes, 'less.frequent.job')
every(1.hour, 'hourly.job')
every(1.day, 'midnight.job', :at => '00:00')
क्यों इस टैग ईमेल स्पैम है। क्या आप स्पैम उत्पन्न करने की कोशिश कर रहे हैं? –