Add a rake task to run RoutingEngine

This commit is contained in:
Eric Leroy-Terquem 2023-08-30 12:35:47 +02:00
parent 3c410e48f3
commit 487959e864

View file

@ -0,0 +1,23 @@
require Rails.root.join("lib", "tasks", "task_helper")
namespace :routing_engine do
desc <<~EOD
Given an id in argument, run the RoutingEngine for a dossier, after having set `forced_groupe_instructeur` field to false.
ex: rails routing_engine:run\[1352684\]
EOD
task :run, [:dossier_id] => :environment do |_t, args|
dossier = Dossier.find_by(id: args[:dossier_id])
if dossier.present?
dossier.update!(forced_groupe_instructeur: false)
dossier.reload
RoutingEngine.compute(dossier)
rake_puts "Dossier #{args[:dossier_id]} routed to groupe instructeur #{dossier.groupe_instructeur.label}"
else
rake_puts "Dossier with id #{args[:dossier_id]} not found in db"
end
end
end