+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
class JobTask < ArvadosModel
include HasUuid
include KindAndEtag
include CommonApiTemplate
serialize :parameters, Hash
+ before_create :set_default_qsequence
after_update :delete_created_job_tasks_if_failed
- after_update :assign_created_job_tasks_qsequence_if_succeeded
+ before_create :create_disabled
+ before_update :update_disabled
api_accessible :user, extend: :common do |t|
t.add :job_uuid
t.add :output
t.add :progress
t.add :success
+ t.add :started_at
+ t.add :finished_at
end
protected
end
end
- def assign_created_job_tasks_qsequence_if_succeeded
- if self.success == false and self.success != self.success_was
- # xxx qsequence should be sequential as advertised; for now at
- # least it's non-decreasing.
- JobTask.update_all(['qsequence = ?', (Time.now.to_f*10000000).to_i],
- ['created_by_job_task_uuid = ?', self.uuid])
- end
+ def set_default_qsequence
+ self.qsequence ||= self.class.connection.
+ select_value("SELECT nextval('job_tasks_qsequence_seq')")
+ end
+
+ def create_disabled
+ raise "Disabled"
+ end
+
+ def update_disabled
+ raise "Disabled"
end
end