[RUBY] [Rails] Mettre en œuvre la tâche de râteau

Qu'est-ce qu'une tâche de râteau?

Cette fonction exécute le traitement décrit dans le fichier à partir de la ligne de commande. Il est utilisé à diverses fins telles que la modification du statut en fonction des attributs de l'utilisateur, l'importation de données CSV, l'envoi d'un e-mail à l'utilisateur à tout moment, etc.

Utilisation de base

Générer un fichier de tâche

$ rails g task qiita_task

Décrivez le processus que vous souhaitez exécuter

namespace :qiita_task do
  desc 'Bonjour le monde'
  task :hw do
    puts 'Hello World'
  end
end

Courir

$ rake qiita_task:hw

Autre

Lorsque la tâche inclut le processus de connexion à la base de données

Lors de la connexion à la base de données, écrivez «environnement» comme suit

namespace :qiita_task do
  desc 'Envoyer un e-mail aux utilisateurs récemment enregistrés'
  task send_email_to_recent_users: :environment do
    recent_users = User.where('updated_at <= ?', Time.zone.parse('2020/09/08 15:50:00'))
    recent_users.each do |ru|
      ru.send_email
    end
  end   
end

Exécuter en production

Exécutez avec RAILS_ENV = production dans le répertoire racine du projet (où se trouve Gemfile etc.).

$ rake qiita_task:hw RAILS_ENV=production

Afficher la liste des tâches

Les tâches définies par défaut et les tâches que vous avez créées s'affichent dans une ligne.

$ rake -T

référence

Recommended Posts

[Rails] Mettre en œuvre la tâche de râteau
[Rails] Mise à jour de l'état à l'aide de la tâche Rake
Implémenter la pagination des rails
[Rails] J'ai essayé d'implémenter le traitement par lots avec la tâche Rake
Rails: comment bien écrire une tâche de râteau
Mettre en œuvre le BAN du compte Rails
Markdown implémenté dans Rails
[Rails] Implémenter la fonction de recherche d'utilisateurs
Implémenter l'authentification LTI dans Rails
Définissons une tâche Rake.
[Rails] Comment mettre en œuvre le scraping
[Rails] Implémenter la fonction de publication d'images
À propos de l'exécution régulière de la tâche de râteau de l'application de rails dans Heroku
Implémenter une fonction de connexion simple dans Rails
Implémenter un formulaire de contact dans Rails
[Rails] Comment mettre en œuvre le classement par étoiles
Implémenter la fonction de téléchargement CSV dans Rails
Comment implémenter la fonctionnalité de recherche dans Rails
Comment implémenter la fonctionnalité de classement dans Rails
Pour implémenter la publication d'images à l'aide de rails
Implémenter des transitions de boutons à l'aide de link_to dans Rails