t.add :log
t.add :runtime_constraints
t.add :tasks_summary
-# t.add :dependencies
t.add :nondeterministic
t.add :repository
t.add :supplied_script_version
]
def assert_finished
- update_attributes(finished_at: finished_at || Time.now,
+ update_attributes(finished_at: finished_at || db_current_time,
success: success.nil? ? false : success,
running: false)
end
end
end
- # def dependencies
- # deps = {}
- # queue = self.script_parameters.values
- # while not queue.empty?
- # queue = queue.flatten.compact.collect do |v|
- # if v.is_a? Hash
- # v.values
- # elsif v.is_a? String
- # v.match(/^(([0-9a-f]{32})\b(\+[^,]+)?,?)*$/) do |locator|
- # deps[locator.to_s] = true
- # end
- # nil
- # end
- # end
- # end
- # deps.keys
- # end
-
def permission_to_update
if is_locked_by_uuid_was and !(current_user and
(current_user.uuid == is_locked_by_uuid_was or
# Ensure cancelled_at cannot be set to arbitrary non-now times,
# or changed once it is set.
if self.cancelled_at and not self.cancelled_at_was
- self.cancelled_at = Time.now
+ self.cancelled_at = db_current_time
self.cancelled_by_user_uuid = current_user.uuid
self.cancelled_by_client_uuid = current_api_client.andand.uuid
@need_crunch_dispatch_trigger = true
case state
when Running
- self.started_at ||= Time.now
+ self.started_at ||= db_current_time
when Failed, Complete
- self.finished_at ||= Time.now
+ self.finished_at ||= db_current_time
when Cancelled
- self.cancelled_at ||= Time.now
+ self.cancelled_at ||= db_current_time
end
# TODO: Remove the following case block when old "success" and