J'utilise la gemine sidekiq scheduler pour planifier et exécuter des tâches en arrière-plan. La configuration fonctionne correctement et les tâches sont planifiées et exécutées correctement, cependant, si je veux exécuter des méthodes à l'intérieur de mes modèles de rails, je ne peux pas. Voici comment je lance sidekiq:Impossible d'appeler les modèles Rails à l'intérieur de la classe de travailleurs Sidekiq
sidekiq -r ./app/workers/get_new_users.rb -e production
Comment puis-je obtenir mon script get_new_users d'appeler des méthodes dans mes modèles?
require 'sidekiq-scheduler'
class GetNewUsers
include Sidekiq::Worker
def perform
puts User.find(1)
end
end
Merci
Qu'entendez-vous exactement par «les méthodes de fonctionnement depuis l'intérieur de mes modèles»? Si vous passez par exemple l'ID d'un modèle à votre worker, vous devriez être capable de vous instancier rmodels comme: User.find (id) et les méthodes d'appel à ce sujet. Ce – trueunlessfalse
est une faute de frappe que je voulais dire appeler au lieu de courir :) Quand j'appelle User.find (id) Je reçois cette erreur: NameError: non initialisées GetNewUsers constante :: L'utilisateur – rubyist
Pouvez-vous montrer le code pour le travailleur – Iceman