symfony
symfony copied to clipboard
Symfony messenger stop workers
Hi,
I am trying to include a tastk to restart symfony messenger once deployed the new code (https://symfony.com/doc/current/messenger.html#deploying-to-production)
But as this comment says (https://stackoverflow.com/questions/63508798/symfony-messenger-workers-do-not-stop-when-running-under-supervisor), the command must be executed in the "old" release path, not in the new release path
How can I execute the command in the previous release path?
I've created this task, but it is being executed in the new path:
namespace :deploy do
desc 'Restart messenger'
task :migrate do
on roles(:app) do
symfony_console('messenger:stop-workers')
end
end
end
before "symfony:cache:warmup", "deploy:migrate"
For anyone having the same issue, we do it manually like this and it seems to do the trick:
namespace :deploy do
task :consumers do
on roles(:db) do
puts "#{release_path}"
execute("cd #{release_path} && bin/console messenger:stop-workers")
end
end
end