user configure a schedule and the job script, for us it would be interpreted as running a specific go function. we store user info in in-memory implementation and upgrade it later to a DB based implementation.
table :
-
Job
- id
- cronExpression
- nextExecutionEpochTime
- created_at // not required in bare minimum
- created_by // not nrequired in bare minimum
-
ExecutionLog
- runID
- jobID
- executionEpochTime
- createdAt
- startedAt
- workerID
- leaseAcquiedAt
- lastLeaseHeartBeat
- status
- output
- failure
- build a migration strategy
- write the SQL in that
- migrate-up and use connectors + sql package to use the DB