Live data from Hacker News

Red Engine: modern scheduling framework for Python applications

red-engine.readthedocs.io

11–20 of 55 posts

Re: Red Engine: modern scheduling framework for Python applications

#11
post #3

> 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…

You nailed it.

Re: Red Engine: modern scheduling framework for Python applications

#12
This 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.

Re: Red Engine: modern scheduling framework for Python applications

#13

What makes this true? “Red Engine is not meant to be the scheduler for enterprise pipelines, unlike Airflow, but it is fantastic to power your Python applications.”

It sounds like the author doesn't think enterprise apps can be Python applications

Re: Red Engine: modern scheduling framework for Python applications

#14
post #3

> 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…

It's also just annoyingly redundant, and breaks searching, completion, etc.:

    @app.cond('is foo')
    def is_foo():
IMO

    @app.cond
    def is_foo():
And 'losing' that you can omit the underscore to make it look a bit like English is much better. Plus then I can jump from its use back to this definition without any DSL-aware tooling (that probably doesn't exist).

Re: Red Engine: modern scheduling framework for Python applications

#15
post #6
post #3

> 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…

@app.task('daily & is foo', execution="process") followed by @app.task("after task 'do_daily'") Yeah, I did a hard turn towards "nope" right there. Similar but not quite Python combined with similar but not quite English does not make a tasty dish. It makes yet another pointless one-off thing to learn and struggle with.

Just got hard AppleScript PTSD.

Re: Red Engine: modern scheduling framework for Python applications

#16
post #6
post #3

> 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…

@app.task('daily & is foo', execution="process") followed by @app.task("after task 'do_daily'") Yeah, I did a hard turn towards "nope" right there. Similar but not quite Python combined with similar but not quite English does not make a tasty dish. It makes yet another pointless one-off thing to learn and struggle with.

For some reason they chose to put the concept which is hardest to understand on the front page. 'is foo' is showing how to define and use a custom condition, the conditions in the rest of the documentation are easy to understand and make sense to me.

The only way I could see me struggle with this would be to piece together a large call graph in my head. I can understand why the author says that Airflow is better suited for this case because you get a visualization.

Re: Red Engine: modern scheduling framework for Python applications

#17

This 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.

Yeah, I'll definitely try this for little server-based tasks

Re: Red Engine: modern scheduling framework for Python applications

#20
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?

Post reply on HN