Je besoin d'aide pour le développement d'un travailleur sidekiq cette situation:Comment créer un job d'arrière-plan pour obtenir une requête avec Sidekiq et httparty?
J'ai une aide qui ressemble à ceci:
module UploadsHelper
def save_image
response = HTTParty.get(ENV['IMAGE_URI'])
image_data = JSON.parse(response.body)
images = image_data["rows"].map do |line|
u = Image.new
u.description = line[5]
u.image_url = line[6]
u.save
u
end
images.select(&:persisted?)
end
end
Dans mon app/views/uploads/index.html.erb
je fais juste ce
<% save_image %>
Maintenant, Lorsqu'un utilisateur visite la page de téléchargements/index, les images sont enregistrées dans la base de données.
Le problème est que la requête get à l'API est très lente. Je veux empêcher les délais d'expiration des demandes en déplaçant cela vers un travail en arrière-plan avec sidekiq.
Ceci est mon workers/api_worker.rb
class ApiWorker
include Sidekiq::Worker
def perform
end
end
Je ne sais pas la meilleure façon de procéder d'ici.
Exactement, sauf que la méthode est 'perform_async'. –
@MikePerham Merci de l'avoir signalé. Je viens de le faire correspondre avec un simple travailleur ActiveJob. :) – 31piy
J'ai une question de suivi sur un problème de porduction avec le travailleur ici au cas où vous êtes intéressé merci: http://stackoverflow.com/questions/42756028/sidekiq-error-could-not-connect-to-server- Aucun fichier ou répertoire de ce nom –