Schedule
There will be times where you have tasks that need to be executed on a fixed schedule. Setting up crontab or keeping track of intervals and timeouts can be a pain.
Core makes running recurring tasks easy by providing a task scheduling manager that allows tasks to be scheduled based on times or block events.
Cron Job
Get an instance of a CronJob
1const cronJob: Services.Schedule.CronJob = app2 .get<Contracts.Kernel.ScheduleService>(Identifiers.Services.Schedule.Service)3 .cron()
Schedule the job to run every minute
1cronJob2 .everyMinute()3 .execute(() => console.log("Hello World"))
Schedule the job to run every five minutes
1cronJob2 .everyFiveMinutes()3 .execute(() => console.log("Hello World"))
Schedule the job to run every ten minutes
1cronJob2 .everyTenMinutes()3 .execute(() => console.log("Hello World"))
Schedule the job to run every fifteen minutes
1cronJob2 .everyFifteenMinutes()3 .execute(() => console.log("Hello World"))
Schedule the job to run every thirty minutes
1cronJob2 .everyThirtyMinutes()3 .execute(() => console.log("Hello World"))
Schedule the job to run hourly
1cronJob2 .hourly()3 .execute(() => console.log("Hello World"))
Schedule the job to run hourly at a given offset in the hour
1cronJob2 .hourlyAt(minute: string)3 .execute(() => console.log("Hello World"))
Schedule the job to run daily
1cronJob2 .daily()3 .execute(() => console.log("Hello World"))
Schedule the job to run daily at a given time (10:00, 19:30, etc)
1cronJob2 .dailyAt(hour: string, minute: string)3 .execute(() => console.log("Hello World"))
Schedule the job to run only on weekdays
1cronJob2 .weekdays()3 .execute(() => console.log("Hello World"))
Schedule the job to run only on weekends
1cronJob2 .weekends()3 .execute(() => console.log("Hello World"))
Schedule the job to run only on Mondays
1cronJob2 .mondays()3 .execute(() => console.log("Hello World"))
Schedule the job to run only on Tuesdays
1cronJob2 .tuesdays()3 .execute(() => console.log("Hello World"))
Schedule the job to run only on Wednesdays
1cronJob2 .wednesdays()3 .execute(() => console.log("Hello World"))
Schedule the job to run only on Thursdays
1cronJob2 .thursdays()3 .execute(() => console.log("Hello World"))
Schedule the job to run only on Fridays
1cronJob2 .fridays()3 .execute(() => console.log("Hello World"))
Schedule the job to run only on Saturdays
1cronJob2 .saturdays()3 .execute(() => console.log("Hello World"))
Schedule the job to run only on Sundays
1cronJob2 .sundays()3 .execute(() => console.log("Hello World"))
Schedule the job to run weekly
1cronJob2 .weekly()3 .execute(() => console.log("Hello World"))
Schedule the job to run weekly on a given day and time
1cronJob2 .weeklyOn(day: string, hour: string, minute: string)3 .execute(() => console.log("Hello World"))
Schedule the job to run monthly
1cronJob2 .monthly()3 .execute(() => console.log("Hello World"))
Schedule the job to run monthly on a given day and time
1cronJob2 .monthlyOn(day: string, hour: string, minute: string)3 .execute(() => console.log("Hello World"))
Schedule the job to run quarterly
1cronJob2 .quarterly()3 .execute(() => console.log("Hello World"))
Schedule the job to run yearly
1cronJob2 .yearly();3 .execute(() => console.log("Hello World"))
Block Job
Get an instance of a BlockJob
1const blockJob: Services.Schedule.BlockJob = app2 .get<Services.Schedule.ScheduleService>(Container.Identifiers.ScheduleService)3 .block()
Schedule the job to run every block
1blockJob2 .everyBlock()3 .execute(() => console.log("Hello World"))
Schedule the job to run every five blocks
1blockJob2 .everyFiveBlocks()3 .execute(() => console.log("Hello World"))
Schedule the job to run every ten blocks
1blockJob2 .everyTenBlocks()3 .execute(() => console.log("Hello World"))
Schedule the job to run every fifteen blocks
1blockJob2 .everyFifteenBlocks()3 .execute(() => console.log("Hello World"))
Schedule the job to run every thirty blocks
1blockJob2 .everyThirtyBlocks()3 .execute(() => console.log("Hello World"))
Schedule the job to run every round
1blockJob2 .everyRound()3 .execute(() => console.log("Hello World"))
Last updated 8 months ago
Edit Page