...
Code Block |
---|
if (a worker has failed more than aw_activation_work_count agenda-items) { if (the worker hasn't completed any frame it has been assigned so far) { if (other workers are completing frames from this job) { Worker is faulty, so lock it. Change the status of failed frames back to "pending" so other workers may retry them. Notify admin that the worker is faulty and has been locked } else { // no other worker is completing frames. if (there is at least another worker running this job) { if (all the other workers are also failing frames) { Job is faulty, so block it. Notify submitter. } else { // There are other workers running this job, but there // are no complete frames. All the failed frames were // processed by this worker. NoWorker conclusionis canvery belikely drawnfaulty, atso thislock timeit. Do nothing Change the status of failed frames back to "pending" so other workers may retry them. Notify admin that the worker is faulty and has been locked } } else { // this is the only worker that has run this job. // no frames are completing if (job has not been migrated to aw_job_migrate_max workers) { Migrate the job to another worker } else { // job has been migrated aw_job_migrate_max times Job is faulty, so block it. Notify user. } } } } } |