Le problème est donc pas rare que jusqu'à présent, je aurais pu rassemblé des tas de questions à ce sujet, mais encore, sans être en mesure de résoudre cela sur mon propreCapistrano + sidekiq/incapable de choisir les variables environnements
I avait la tâche suivante:
namespace :sidekiq do
task :start do
on roles(:app), in: :sequence, wait: 5 do
within release_path do
as :deploy do
with rails_env: fetch(:rails_env) do
execute :bundle, "exec sidekiq -e production -C ./config/sidekiq.yml -L ./log/sidekiq.log -d"
end
end
end
end
end
end
la tâche est appelée dans namespace :deploy do ... end
dans le fichier principal deploy.rb
Comme ma base de données creds' sont stockés sur la machine distante dans ~/.profile, ne parvient pas à sidekiq exécuter des choses (j'ai essayé de mettre ces env vars dans ~/.bashrc, etc ... quels que soient les fichiers point qui auraient pu être présents ou nommés dans les problèmes trouvés ... rien n'a fonctionné). J'ai presque tout fait possible.
De toute évidence, si je lance la même commande _very_ sur la machine distante et non via Capistrano, tout fonctionne parfaitement. J'ai fini avec ce pauvre:
task :start do
run_locally do
%x(ssh [email protected]#{fetch(:application)} 'cd /var/www/#{fetch(:application)}/current && /home/xx/.rvm/bin/rvm 2.4.0 do bundle exec sidekiq -e production -C /var/www/#{fetch(:application)}/current/config/sidekiq.yaml -L /var/www/#{fetch(:application)}/current/log/sidekiq.log -d')
end
end
Cela dit, si l'erreur semble évident pour certains qui utilisent un execute :bundle, '...sidekiq startup cmd...'
régulier sans ce genre de question; merci beaucoup méga à l'avance pour toute aide
Meilleur
Quel type de serveur utilisez-vous? – DevJem
Je suppose que rien d'étrange, Ubuntu 16.04 – Ben