Configuration Sidekiq pour plusieurs environnements
J'ai regardé plusieurs sources et essayé divers scénarios, mais ne pouvait pas résoudre ce donc la question. Merci de me pointer dans la bonne direction.
Comme tout le monde j'ai 3 env (de développement, de production et de transfert).
J'ai la suite dans ma sidekiq.fichier yml
# Options here can still be overridden by cmd line args.
# sidekiq -C config.yml
---
:verbose: false
:namespace: xyz
:logfile: log/sidekiq.log
:concurrency: 25
:strict: false
:pidfile: tmp/pids/sidekiq.pid
:queues:
- [stg_xyz_tests_queue, 10]
- [stg_default_xyz_queue, 2]
- [stg_xyz_default_queue, 3]
development:
:verbose: true
:concurrency: 15
:queues:
- [dev_xyz_queue, 10]
- [dev_default_xyz_queue, 2]
- [dev_xyz_default_queue, 3]
staging:
:queues:
- [stg_xyz_queue, 10]
- [stg_default_xyz_queue, 2]
- [stg_xyz_default_queue, 3]
production:
:queues:
- [prod_xyz_queue, 10]
- [prod_default_xyz_queue, 2]
- [prod_xyz_default_queue, 3]
Avec cela, j'ai été en espérant que quand je commence à sidekiq avec la commande
RAILS_ENV=#{rails_env} bundle exec sidekiq -C config/sidekiq.yml
qu'il serait de ramassage de toutes les valeurs du fichier de configuration et de démarrage sidekiq avec les files d'attente et le fichier journal à journal/sidekiq.journal, mais qui ne fonctionne pas.
Sidekiq démarre mais il ne crée que des stg_xyz_tests_queue, stg_default_xyz_queue et stg_xyz_default_queue n'importe quel environnement nous utilisons.
L'autre approche, j'ai essayé a l'aide du code suivant dans le fichier config/environments/développement.rb
#configure Sidekiq for dev environment
Sidekiq.configure_server do |config|
config.options[:namespace] = "xyz"
config.options[:concurrency] = 25
config.options[:verbose] = true
config.options[:strict] = false
config.options[:logfile] = "log/sidekiq.log"
config.options[:pidfile] = "tmp/pids/sidekiq.pid"
queues = Array.new
10.times do
queues.push "dev_xyz_queue"
end
2.times do
queues.push "dev_default_xyz_queue"
end
3.times do
queues.push "dev_xyz_default_queue"
end
config.options[:queues] = queues
puts "Sidekiq server config options for development => #{config.options.to_yaml}"
end
Avec cela, les files d'attente sont créés ok, mais le fichier n'est pas créé ou écrit et j'ai besoin de dupliquer ce code pour tous les 3 environnements.
Quelle est la meilleure façon d'obtenir sidekiq de travailler en toute transparence pour ma configuration
Merci pour votre aide d'avance!!!!!
source d'informationauteur user1687078
Vous devez vous connecter pour publier un commentaire.
Utilisez l'option-e
Si tous les environnements(développement, mise en scène et de la production) sont sur le même serveur, puis utilisez l'espace de noms. Dans votre initializers/sidekiq.rb fichier,
Utilisation -e de passer de l'environnement.
Grâce à mperham pour la réponse.
Utiliser pour définir les journaux, et de support de l'environnement: