| 670 | } |
| 671 | |
| 672 | void md_job_end_run(md_job_t *job, md_result_t *result) |
| 673 | { |
| 674 | if (APR_SUCCESS == result->status) { |
| 675 | job->finished = 1; |
| 676 | job->valid_from = result->ready_at; |
| 677 | job->error_runs = 0; |
| 678 | job->dirty = 1; |
| 679 | md_job_log_append(job, "finished", NULL, NULL); |
| 680 | } |
| 681 | else { |
| 682 | ++job->error_runs; |
| 683 | job->dirty = 1; |
| 684 | job->next_run = apr_time_now() + md_job_delay_on_errors(job, job->error_runs, result->problem); |
| 685 | } |
| 686 | job_observation_end(job); |
| 687 | } |
| 688 | |
| 689 | void md_job_retry_at(md_job_t *job, apr_time_t later) |
| 690 | { |
no test coverage detected