aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tasks
diff options
context:
space:
mode:
authorTeddy Wing2018-02-07 13:01:01 +0100
committerTeddy Wing2018-02-08 11:29:31 +0100
commitf6bc7ad342c19393d364341b3e753154df78a295 (patch)
tree76e50573e003e5dd6c936c18de3b117b78b8dbad /lib/tasks
parent871a088ccffc47e5e09272b3105dabecf10974a6 (diff)
downloadchouette-core-f6bc7ad342c19393d364341b3e753154df78a295.tar.bz2
schedule.rb: Add cron job to finalise `ComplianceCheckSet`s
A new recurring job that does exactly the same thing as the import job. This finalises `ComplianceCheckSet`s. First we need to abort all unfinished `ComplianceCheckSet`s older than four hours. Then we finalise the imports by doing the same work in `Api::V1::Internals::ComplianceCheckSetsController#notify_parent`, namely calling `#notify_parent` on `ComplianceCheckSet`s (here, only on the ones that are finished). Add a couple new Rake tasks for compliance check sets that mirror those for imports, and do the work required by the cron job. Refs #4758
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/compliance_check_sets.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/tasks/compliance_check_sets.rb b/lib/tasks/compliance_check_sets.rb
new file mode 100644
index 000000000..c53c7f9ed
--- /dev/null
+++ b/lib/tasks/compliance_check_sets.rb
@@ -0,0 +1,11 @@
+namespace :compliance_check_sets do
+ desc "Notify parent check sets when children finish"
+ task notify_parent: :environment do
+ ParentNotifier.new(ComplianceCheckSet).notify_when_finished
+ end
+
+ desc "Mark old unfinished check sets as 'aborted'"
+ task abort_old: :environment do
+ ComplianceCheckSet.abort_old
+ end
+end