2017-05-08 2 views
0

Je crée une application de type blog & J'ai actuellement une tâche rake qui génère automatiquement un nouveau message tous les jours si le jour actuel est passé la date de début d'un utilisateur. Je veux l'améliorer de sorte que si un nouvel utilisateur s'inscrit pour un compte et sélectionne une date de début dans le passé, disons il y a un mois, la tâche rake générera automatiquement tous les messages du mois précédent et continuera sa fonction actuelle .(Ruby on Rails) Comment améliorer une tâche râteau qui génère automatiquement des messages pour un blog?

Quelqu'un at-il des suggestions sur la façon de mettre en œuvre cela?

C'est le code de la tâche 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 

Répondre

0

Vous devez utiliser cron jobs-rake la tâche. Dans ruby, vous pouvez utiliser chaque fois gem qui a une syntaxe claire pour l'écriture et le déploiement de tâches cron. Il y a aussi railscasts à ce sujet. Essayons.