我正在制作一个类似博客的应用程序,我目前有一个耙子任务,如果当天超过用户的开始日期,它每天都会自动生成一个新帖子。我想改进它,以便如果新用户注册一个帐户并选择过去的开始日期,比如一个月前,耙子任务将自动生成上个月的所有帖子并继续其当前功能。
有没有人对如何实现这一点有任何建议?
这是 rake 任务的代码:
namespace :abc do
desc "Used to generate a new daily log"
task :create_post => :environment do
User.find_each do |currentUser|
starting_date = currentUser.start_date
Post.create!(content: "RAKED", user: currentUser, status: "new") if Date.today >= starting_date && Date.today.on_weekday?
end
puts "It worked yo"
end
end
您需要使用 cron 作业来rake
任务。在 ruby
中,只要有明确的语法gem
就可以使用它来编写和部署 cron 作业。也有关于它的铁轨广播。让我们试试吧。