def commit_job(job)
result = save_job_status(job)
- job.sub_jobs.each do |j|
- save_job_status(j)
- end
return result
end
now = @server.db_now
result = @server.get_db_connection() do |db|
job.save(db, now)
+ job.sub_jobs.each do |j|
+ j.save(db, now)
+ end
end
return result
end
# initialize all sub jobs and add them to "internal_jobs"
+ tstatus = @status
@sub_jobs.each do |job|
# initialize job
if not job.init or job.status == "ERROR" then
job.status = "WAITING"
else
job.status = "ERROR"
- @status = "ERROR"
+ tstatus = "ERROR"
end
end
- if @status == "ERROR" then
+ if tstatus == "ERROR" then
+ # Changed the status of initialized sub-jobs if parent is in ERROR status
+ @sub_jobs.each do |job|
+ if job.status == "WAITING" then
+ job.status = "CANCELED"
+ end
+ end
+ @status = tstatus
return false
end