Qrvey queue message
This is a library to use AWS Eventbridge or k8s scheduler
Installation
npm install @qrvey/scheduler
Require environment variables
AWS_ACCOUNT_ID;
AWS_DEFAULT_REGION;
PLATFORM_TYPE;
Usage
Sample usage
const { schedulerService } = require("@qrvey/scheduler");
(async () => {
const scheduleParams = {
cronJobName: "multicloud-testcron",
scheduleExpression: "cron(*/1 * * * * *)",
description:
'{"userEmail":"email@useremail.com","datasetName":"DBName","appName":"AppName","readableCronExpr":"Every hour","owner":"ownerId","datasetId":"datasetId","userId":"userId","appId":"appId"}',
targetParams: {
Name: "demo_drScheduler_CJ_mra43sr0U",
Input: {
detail: {
appId: "appId",
userId: "userId",
owner: "owner",
datasetId: "datasetId",
cronSyncFrequency: "0 0/1 * * ? *",
version: 2.1,
},
source: "aws.events",
},
},
tags: [
{
Key: "version",
Value: "2.1",
},
{
Key: "datasetId",
Value: "datasetId",
},
{
Key: "appId",
Value: "appId",
},
{
Key: "userId",
Value: "userId",
},
{
Key: "state",
Value: "ENABLED",
},
{
Key: "owner",
Value: "userId",
},
],
targetResource: "arn:aws:lambda:{region}:{accountId}:function:{functionName}",
state: "DISABLED",
};
const schedulerClient = new schedulerService();
const res = await schedulerClient.create(scheduleParams);
})();