diff --git a/README.md b/README.md
index 23c936df1..98a36ad58 100644
--- a/README.md
+++ b/README.md
@@ -64,10 +64,10 @@ Afin de générer la BDD de l'application, il est nécessaire d'éxécuter les c
     mailcatcher -f
     rails s
 
-## Lancement des workers
+## Programmation des jobs
 
-    Delayed::Job.enqueue(AutoArchiveProcedureWorker.new, cron: "* * * * *")
-    Delayed::Job.enqueue(WeeklyOverviewWorker.new, cron: "0 8 * * 0")
+    AutoArchiveProcedureJob.set(cron: "* * * * *").perform_later
+    WeeklyOverviewJob.set(cron: "0 8 * * 0").perform_later
 
 ## Exécution des tests (RSpec)
 
diff --git a/app/workers/auto_archive_procedure_worker.rb b/app/jobs/auto_archive_procedure_job.rb
similarity index 50%
rename from app/workers/auto_archive_procedure_worker.rb
rename to app/jobs/auto_archive_procedure_job.rb
index d8c6df0a1..764a2aae7 100644
--- a/app/workers/auto_archive_procedure_worker.rb
+++ b/app/jobs/auto_archive_procedure_job.rb
@@ -1,6 +1,8 @@
-class AutoArchiveProcedureWorker
+class AutoArchiveProcedureJob < ApplicationJob
+  queue_as :cron
+
   def perform(*args)
-    Rails.logger.info("AutoArchiveProcedureWorker started at #{Time.now}")
+    Rails.logger.info("AutoArchiveProcedureJob started at #{Time.now}")
     Procedure.publiees.where("auto_archive_on <= ?", Date.today).each do |procedure|
       procedure.dossiers.state_en_construction.each do |dossier|
         dossier.received!
@@ -8,12 +10,6 @@ class AutoArchiveProcedureWorker
 
       procedure.archive
     end
-    Rails.logger.info("AutoArchiveProcedureWorker ended at #{Time.now}")
+    Rails.logger.info("AutoArchiveProcedureJob ended at #{Time.now}")
   end
-
-  def queue_name
-    "cron"
-  end
-
-  handle_asynchronously :perform
 end
diff --git a/app/workers/weekly_overview_worker.rb b/app/jobs/weekly_overview_job.rb
similarity index 64%
rename from app/workers/weekly_overview_worker.rb
rename to app/jobs/weekly_overview_job.rb
index 2d3cf9260..906d654c4 100644
--- a/app/workers/weekly_overview_worker.rb
+++ b/app/jobs/weekly_overview_job.rb
@@ -1,6 +1,8 @@
-class WeeklyOverviewWorker
+class WeeklyOverviewJob < ApplicationJob
+  queue_as :cron
+
   def perform(*args)
-    Rails.logger.info("WeeklyOverviewWorker started at #{Time.now}")
+    Rails.logger.info("WeeklyOverviewJob started at #{Time.now}")
     # Feature flipped to avoid mails in staging due to unprocessed dossier
     if Features.weekly_overview
       Gestionnaire.all
@@ -8,12 +10,6 @@ class WeeklyOverviewWorker
         .reject { |_, overview| overview.nil? }
         .each { |gestionnaire, overview| GestionnaireMailer.last_week_overview(gestionnaire, overview).deliver_now }
     end
-    Rails.logger.info("WeeklyOverviewWorker ended at #{Time.now}")
+    Rails.logger.info("WeeklyOverviewJob ended at #{Time.now}")
   end
-
-  def queue_name
-    "cron"
-  end
-
-  handle_asynchronously :perform
 end
diff --git a/config/application.rb b/config/application.rb
index 1c82112d2..a53223dff 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -33,5 +33,7 @@ module TPS
     else
       URL = "http://localhost:3000/"
     end
+
+    config.active_job.queue_adapter = :delayed_job
   end
 end
diff --git a/spec/workers/auto_archive_procedure_worker_spec.rb b/spec/jobs/auto_archive_procedure_job_spec.rb
similarity index 92%
rename from spec/workers/auto_archive_procedure_worker_spec.rb
rename to spec/jobs/auto_archive_procedure_job_spec.rb
index af3fe73fe..cf4c62150 100644
--- a/spec/workers/auto_archive_procedure_worker_spec.rb
+++ b/spec/jobs/auto_archive_procedure_job_spec.rb
@@ -1,15 +1,12 @@
 require 'rails_helper'
 
-RSpec.describe AutoArchiveProcedureWorker, type: :worker do
-  before { Delayed::Worker.delay_jobs = false }
-  after { Delayed::Worker.delay_jobs = true }
-
+RSpec.describe AutoArchiveProcedureJob, type: :job do
   let!(:procedure) { create(:procedure, published_at: Time.now, archived_at: nil, auto_archive_on: nil )}
   let!(:procedure_hier) { create(:procedure, published_at: Time.now, archived_at: nil, auto_archive_on: 1.day.ago )}
   let!(:procedure_aujourdhui) { create(:procedure, published_at: Time.now, archived_at: nil, auto_archive_on: Date.today )}
   let!(:procedure_demain) { create(:procedure, published_at: Time.now, archived_at: nil, auto_archive_on: 1.day.from_now )}
 
-  subject { AutoArchiveProcedureWorker.new.perform }
+  subject { AutoArchiveProcedureJob.new.perform }
 
   context "when procedures have no auto_archive_on" do
     before do
diff --git a/spec/workers/weekly_overview_worker_spec.rb b/spec/jobs/weekly_overview_job_spec.rb
similarity index 83%
rename from spec/workers/weekly_overview_worker_spec.rb
rename to spec/jobs/weekly_overview_job_spec.rb
index 9568e1509..b0a133f35 100644
--- a/spec/workers/weekly_overview_worker_spec.rb
+++ b/spec/jobs/weekly_overview_job_spec.rb
@@ -1,9 +1,6 @@
 require 'rails_helper'
 
-RSpec.describe WeeklyOverviewWorker, type: :worker do
-  before { Delayed::Worker.delay_jobs = false }
-  after { Delayed::Worker.delay_jobs = true }
-
+RSpec.describe WeeklyOverviewJob, type: :job do
   describe 'perform' do
     let!(:gestionnaire) { create(:gestionnaire) }
     let(:overview) { double('overview') }
@@ -16,7 +13,7 @@ RSpec.describe WeeklyOverviewWorker, type: :worker do
         before :each do
           expect_any_instance_of(Gestionnaire).to receive(:last_week_overview).and_return(overview)
           allow(GestionnaireMailer).to receive(:last_week_overview).and_return(mailer_double)
-          WeeklyOverviewWorker.new.perform
+          WeeklyOverviewJob.new.perform
         end
 
         it { expect(GestionnaireMailer).to have_received(:last_week_overview).with(gestionnaire, overview) }
@@ -27,7 +24,7 @@ RSpec.describe WeeklyOverviewWorker, type: :worker do
         before :each do
           expect_any_instance_of(Gestionnaire).to receive(:last_week_overview).and_return(nil)
           allow(GestionnaireMailer).to receive(:last_week_overview)
-          WeeklyOverviewWorker.new.perform
+          WeeklyOverviewJob.new.perform
         end
 
         it { expect(GestionnaireMailer).not_to have_received(:last_week_overview) }
@@ -38,7 +35,7 @@ RSpec.describe WeeklyOverviewWorker, type: :worker do
       before { allow(Features).to receive(:weekly_overview).and_return(false) }
       before :each do
         allow(Gestionnaire).to receive(:all)
-        WeeklyOverviewWorker.new.perform
+        WeeklyOverviewJob.new.perform
       end
 
       it { expect(Gestionnaire).not_to receive(:all) }