datnguyenzzz / AWSCronJobScheduler

Cron job scheduler for AWS
2 stars 0 forks source link

Development roadmap #3

Open datnguyenzzz opened 2 years ago

datnguyenzzz commented 2 years ago

Consist of 2 main component

Scheduler

Understand job definition from ENV variables

Implementation of Quartz (library for scheduling)

AWS SDK

datnguyenzzz commented 2 years ago

Must be provided env:

datnguyenzzz commented 2 years ago

CronJob file format:

jobList:
  - name: "Upload to SQS #1"
    cronTrigger: "0 0 0 1 2 2/3"
    usedService: "SQS"
    messages:
      - key: "key-1"
        value: "value-1"
      - key: "key-2"
        value: "value-2"

  - name: "Upload to SQS #2"
    usedService: "SQS"
    afterJobDone: "Upload to SQS #1"
    lambdaActionFile: "abc/def/xyz.java"

  - name: "Upload to SQS #3"
    cronTrigger: "0 12 2 1 2/3 * *"
    usedService: "SQS"
    lambdaActionFile: "xyz/ghi/dfc.java"
datnguyenzzz commented 2 years ago

CronJob Factory contain

datnguyenzzz commented 2 years ago

Start quartz scheduler

JobFactory.newJob: Called by the scheduler at the time of the trigger firing, in order to produce a Job instance on which to call execute.

datnguyenzzz commented 2 years ago

AWSPublisherFactory - define with method publisher will be used (SQS, Kinesis, Custom)

datnguyenzzz commented 2 years ago

PublishingJob implement Job

datnguyenzzz commented 2 years ago

PublishigTrigger

datnguyenzzz commented 1 year ago

Health check service: - quartz schedule health check job base periodically

datnguyenzzz commented 1 year ago

AWS SDK using