Scheduler
MP Scheduler Service
The MpSchedulerService
provides functionality for scheduling and managing jobs within the RLI platform:
const COUNT_KEY = "run-count";
const SCHEDULED_ACTION_NAME = "scheduled-action-1";
module.exports = {
// ...config,
eventHandlers: {
onAppInstall: async (r, ctx) => {
await r.scheduler.scheduleAppJobs({
schedulerName: SCHEDULED_ACTION_NAME,
scheduledAt: Math.floor(Date.now() / 1000) + 20,
});
}
},
scheduledActions: [
{
name: SCHEDULED_ACTION_NAME,
run: async (r, args) => {
console.log("Logging every 12 hrs");
let count = await r.kv.getAppValue(COUNT_KEY);
if(count < 10) {
count = count + 1;
} else {
await r.scheduler.deleteScheduledJob("scheduled-action-1");
return;
}
await r.kv.setAppValue({
key: COUNT_KEY,
value: count,
ttlInSeconds: 100000000,
});
},
interval: 43200,
},
],
}
Updated 4 months ago