Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] Add support for start delay #235

Open
samiy803 opened this issue Sep 15, 2024 · 4 comments
Open

[Feature request] Add support for start delay #235

samiy803 opened this issue Sep 15, 2024 · 4 comments

Comments

@samiy803
Copy link

Please add support to start tasks after some delay. Currently, the only options for starting tasks are either: immediately, or after the interval expires.

Something like:

new SimpleIntervalJob({ seconds: 300, runImmediately: true, startDelay: 60 }, task)

Would delay 60 seconds, then run the task every 300 seconds.

@MatthewMaclean
Copy link

This would be helpful for avoiding a thundering herd of cron on startup.

@kibertoad
Copy link
Owner

good idea! will add

@wavedeck
Copy link

Here's a workaround you could use to delay the scheduling of a job by an arbitrary number of milliseconds by wrapping the scheduling in a setTimeout:

// initialize a new scheduler
const scheduler = new ToadScheduler();

// create a new scheduler task
const task = new Task("sometask", () => {
  // do whatever you want in there
});

// create a new job that runs every x minutes
const job = new SimpleIntervalJob(
  { minutes: 30, runImmediately: true }, // run immediately once scheduled
  task
);

// delay scheduling of task by an arbitrary amount of milliseconds
// e.g. 15_000 for a delay of 15 seconds 
setTimeout(() => {
  scheduler.addSimpleIntervalJob(job);
}, 15_000); 

@wavedeck
Copy link

what's the status on this? i haven't seen much activity working on toad-scheduler since February 2024 and while i understand that the maintainer might have other things going on in life right now and appreciate all of the work put in, it would be nice to see some new issues resolved. Maybe it could be worth it to use GitHub's discussions feature to put up a help wanted board for new users that want to support this library!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants