/***********************************************************************************************************
 * Name         : ReprocessFileUpload
 * Purpose      : Executes TempFormResponseFileUploadBatch to reprocess records that were not initially
    successfully processed
 **********************************************************************************************************/
public without sharing class ReprocessFileUpload implements Schedulable {
    public void execute(SchedulableContext sc) {
        Database.executeBatch(
            new TempFormResponseFileUploadBatch(),
            ConfigUtils.getConfigInt(ConfigUtils.FILE_UPLOAD_RETRY_JOB_BATCH_SIZE)
        );
    }

    public static void schedule() {
        BatchJobUtils.scheduleJob(
            new ReprocessFileUpload(),
            ConfigUtils.getConfigString(ConfigUtils.FILE_UPLOAD_RETRY_JOB_CRON_EXPS)
        );
    }
}
