AWS job scheduler with SAM ( POC )

Job ID: 32025852

Budget: $240 – $2,000 HKD

# Background
Design and build a generic AWS job scheduler to automate planned and repeating tasks using Lambda.
For example, system backups, monitoring system status, sending notifications to end users or other systems, data analytics reports, deleting unnecessary resources, etc.

# Functional Requirements

## Calendar-Based Scheduling
Able to schedule Lambda tasks for specific dates using timestamp in ms.

## Cron-job
Able to schedule lambda tasks
e.g. run at 10:00 a.m. every day

## Multi-step functions
Able to trigger a sequence of AWS Lambda functions
Use case 1 : Start -> Get the weekly login records of an user at the end of week -> if login more than 5 days, send reward to the user -> End

Able to execute tasks in parallel
e.g. refer to use case 1, if there are 100000 users, need to run the multi-step functions 100000 times at the end of the week

## Management API

Able to group job by tag, one job can have multiple tags

Able to centralise manage all the scheduled job through API, metadata should be stored in DynamoDB

Able to manage scheduled job such as pause, reschedule, cancel, and execute immediately.

Job Status : Draft, Scheduled, Failed, Completed

Job Type: single-step, multi-step

Remark
1. please provide Lambda sample code in Typescript