Uploaded image for project: 'mod-data-export-spring'
  1. mod-data-export-spring
  2. MODEXPS-54

Implement scheduling of the EDIFACT orders export

    XMLWordPrintable

Details

    Description

      Overview:
      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

      Purpose:
      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.

      Requirements/Scope:

      1. Scheduling of the EDIFACT orders export jobs must supports many configurations and able to schedule Cron jobs for each configuration separately.
      2. Schedule time can be reconfigured and Job reschedule with updated configuration

      Approach:
      New Classes
      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.

      Base implementation
      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

      Acceptance criteria:

      • Logic updated
      • Tested

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                D_Butramyou Dzmitry Butramyou
                Andrei_Makaranka Andrei Makaranka
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases