Off topic but, Many scheduling system I’ve worked with have this weird tendency to run when deployed and then every time it’s time for it to run. I’ve had this happen with kubernetes, Scheduled Quries in GCP big query and a few other systems. That seems like absolute madness. Why would anything do that?
Red Engine: modern scheduling framework for Python applications
41–50 of 55 posts
Re: Red Engine: modern scheduling framework for Python applications
#42Re: Red Engine: modern scheduling framework for Python applications
#43Earlier quoted context omitted.
Other schedulers have a durable database of attempted runs. This doesn't seem to have anything like that.
Would you have a recommendation for an easy to use Python scheduler with such a feature for a personal project?
Re: Red Engine: modern scheduling framework for Python applications
#44Off topic but, Many scheduling system I’ve worked with have this weird tendency to run when deployed and then every time it’s time for it to run. I’ve had this happen with kubernetes, Scheduled Quries in GCP big query and a few other systems. That seems like absolute madness. Why would anything do that?
Re: Red Engine: modern scheduling framework for Python applications
#45Re: Red Engine: modern scheduling framework for Python applications
#46Earlier quoted context omitted.
If it took less than 5 minutes to boot then I can't see why it wouldn't work. How would that work for other schedulers? Also, if a server reboots that's quite bad all round anyway. Hopefully you'd be notified directly.
Other schedulers have a durable database of attempted runs. This doesn't seem to have anything like that.
[1]: https://red-engine.readthedocs.io/en/stable/tutorial/basic.h...
Re: Red Engine: modern scheduling framework for Python applications
#47How does it handle state and restarts? What happens if a job is scheduled to run "before 10am", then the entire server restarts at 9:55am, will it try to run that same job again when it boots back up?
It will run it if the scheduler is called before 10am according to the docs - at runtime the conditions must be met.
Re: Red Engine: modern scheduling framework for Python applications
#48> Clean: Scheduling is just plain English Ugh, no thanks. First of all, English itself is not clean; it's a messy amalgamation of special cases and inconsistent spelling rules. Second, it isn't actually English anyway. It might look like English, but it's actually a DSL that happens to correspond to English a lot of the time. English text is meant to be interpreted by humans, who understand context & connotation, and…
and why not a proper python DSL?
from redengine import minute, hour
@app.run_every(hour + 20*minute)
def do_first(): [...]
@app.run_after(do_first)
def do_second1(): [...]
@app.run_after(do_first)
def do_second2(): [...]
@app.run_after(do_second1 and do_second2)
def do_last(): [...]Re: Red Engine: modern scheduling framework for Python applications
#49Earlier quoted context omitted.
It will run it if the scheduler is called before 10am according to the docs - at runtime the conditions must be met.
Right but what if it already ran? Should the jobs be written such that they are tolerant to re-runs?
Re: Red Engine: modern scheduling framework for Python applications
#50This fits my use case so perfectly! I have a very small internal app taking care of organizing seminar talks, calendars, email announcements, recordings of the talks, and signups. It is a single python file of less than 1500 lines and an sqlite database. This library is so perfect for taking care of scheduled events. Everything else I have found is ridiculously over-complicated of a solution.
Can you share repo to your application?