Generating result retries

Hosts may fail to process and return results for various reasons; such results are said to be lost. A combination of lost and erroneous results may prevent finding canonical result for a workunit. The result retry mechanism generates additional results as needed to find a canonical result.

The result retry mechanism has the following project-supplied parameters:

Each workunit has a retry check time. This is initially set to now + DWU, and is set to zero if a canonical result is found for the WU.

Each result has a deadline, a time by which a confirmation is expected for the result. This is initially set to now + Dresult,

Retry generation is handled by the program result_retry, invoked as

result_retry -appname name
This program continually checks for workunits past their check time and without pending validation. For each such workunit, the program does the following:

Use crontab to run result_retry continuously.