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

Job store support #17

Closed
imiric opened this issue Aug 26, 2013 · 1 comment
Closed

Job store support #17

imiric opened this issue Aug 26, 2013 · 1 comment

Comments

@imiric
Copy link

imiric commented Aug 26, 2013

This might be out of scope for schedule, but I think it would be very handy.

In a similar vein to what APScheduler has, we should support at least some kind of persistent job store.

Let's leave RAM as the default, but add an SQLite store as an option.

Reasonings:

  • SQLite API is built into Python 2/3 and is rock-solid, so no additional dependencies.
  • Keeps persistent state across restarts, as mentioned in Schedule jobs to run on specific weekdays #5.
  • Ability to manage jobs from outside of the main schedule process, which avoids interrupting the process for that.
  • Related to the above, ability to see when the next run is scheduled for (perhaps there could be a schedule CLI tool?).
  • Centralizes the jobs so in theory we could daemonize the schedule process and have it manage all jobs on a single machine.

Thoughts? I might implement this myself soon, just wanted to see if there's any interest for it.

One particular hurdle I'll have to look into is how APScheduler is dealing with persisting jobs. I'm not familiar with pickling/storing functions.

@dbader
Copy link
Owner

dbader commented Aug 30, 2013

I agree that this might be out of scope for schedule and it might also really hard to do job persistency correctly in all cases. Things like cron have been around for a long time and took a while to mature.

Still, I don't want to discourage you – this sounds like an awesome project that I'd definitely mention in the FAQ / future docs. So I say go for it and keep us posted about your progress :-)

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

2 participants