Current implementation support only one configuration(bursar fees fines) and can't not be used for scheduling jobs for another export types except BURSAR_FEES_FINES
Scheduling of the EDIFACT orders export and store it in the SFTP/FTP and internal Minio object storage.
Only Open orders for specific vendor and account methods should be exported.
- Scheduling of the EDIFACT orders export jobs must supports many configurations and able to schedule Cron jobs for each configuration separately.
- Schedule time can be reconfigured and Job reschedule with updated configuration
Domain model ScheduledTask - contains reference on Job and related to job Runnable task, which will be run
Interface ScheduledTaskBuilder used for building scheduled task in the ExportJobScheduler, which schedules created task. To get next time for execution ExportTaskTrigger is used by ExportJobScheduler.
BaseExportJobScheduler schedules ScheduledTask and calculate next time for execution using BaseExportTaskTrigger.
After scheduling pair of ExportTaskTrigger and ScheduledFuture are stored in the ConcurrentHashMap and this map is used to reschedule and cancel ScheduledTask
Add export type specific scheduler
All of these classes are not instantiated by default and team is responsible for
Extend BaseExportJobScheduler and implement initAllScheduledJob() this method is used in the enable module time. To not block start up time initAllScheduledJob() must be Async
Provide in the custom scheduler implementation of the ExportTaskTrigger, ScheduledTaskBuilder and Converter from ExportConfig to list of ExportTaskTrigger
There is a rule : One ExportTaskTrigger per scheduled export configuration
- Logic updated