X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f8743ac8fa1ed9dc8c7c4f7a23803ffe8721cfa6..02de894919a054c31384aeda99a2c2de3a09ee60:/services/api/app/models/job_task.rb diff --git a/services/api/app/models/job_task.rb b/services/api/app/models/job_task.rb index d5d2eddf7d..4dcf2567d7 100644 --- a/services/api/app/models/job_task.rb +++ b/services/api/app/models/job_task.rb @@ -3,8 +3,8 @@ class JobTask < ArvadosModel 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 api_accessible :user, extend: :common do |t| t.add :job_uuid @@ -25,12 +25,8 @@ class JobTask < ArvadosModel 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 end