Ruby on rails RubyonRails-需要在每周的特定时间向电子邮件发送消息

Ruby on rails RubyonRails-需要在每周的特定时间向电子邮件发送消息,ruby-on-rails,ruby,rubygems,email,Ruby On Rails,Ruby,Rubygems,Email,我想知道我应该如何着手这个项目。我需要每周给人们发一次电子邮件。但是,必须在每周的特定时间自动生成和发送。编写代码有多难?我需要知道是否有任何书籍可以帮助我,或者你们中是否有人可以指导我。它必须使用ruby on rails进行编程。因此,有一个web服务和数据库集成。干杯为什么这么复杂 你所需要的就是安排一份工作。例如,您可以使用Delayed::Job允许您使用run_at符号在特定时间安排作业,如下所示: Delayed::Job.enqueue(SendEmailJob.new(...)

我想知道我应该如何着手这个项目。我需要每周给人们发一次电子邮件。但是,必须在每周的特定时间自动生成和发送。编写代码有多难?我需要知道是否有任何书籍可以帮助我,或者你们中是否有人可以指导我。它必须使用ruby on rails进行编程。因此,有一个web服务和数据库集成。干杯

为什么这么复杂

你所需要的就是安排一份工作。例如,您可以使用
Delayed::Job
允许您使用
run_at
符号在特定时间安排作业,如下所示:

Delayed::Job.enqueue(SendEmailJob.new(...), :run_at => scheduled_at)    
您的作业是一个必须实现
perform
方法的类。在此方法中,您可以调用负责发送电子邮件的邮件发送者。在处的
计划\u可以存储在数据库中,并在每次运行
执行
方法时更新。

对于书籍,的第6章专门介绍电子邮件。这本书有关于异步处理和电子邮件的章节。也有专门的工作和写作。

您可以使用gem-like来安排重复性任务

every :sunday, :at => '12pm' do
  runner "User.send_emails"       
end
也许你可以试试


为什么这是标记的电子邮件垃圾邮件。您是否正在尝试生成垃圾邮件?
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')