Hacker News new | ask | show | jobs
by svennek 1370 days ago
... or make CLI version of your tasks and let the system mangement daemon ("cron" or in my case systemd timers) handle it.

For clarity make a subfolder called "tasks" or something like that.

Then you get consolidate logging, retries and all kind of stuff for free in a battle-hardened setup and a standardized way to lookup what is enabled and what is not.

2 comments

I remember a project that could convert any python script to a python CLI. This was taken to another level by another project that could convert any python CLI to a GUI.

Can anyone help me with this?

Fire can basically do the first step (object -> CLI):

https://github.com/google/python-fire

Gooey can do (CLI -> GUI):

https://github.com/chriskiehl/Gooey

Thank you very much!

I hope I don't lose them this time, even though I can see that I have starred one of the repos before.

I didn’t know from could schedule jobs dependent on other jobs. Isn’t it what this brings to the table?

“When job a and job b are done, run job c” kind of things.

In systemd you can have multiple ExecStarts, which will be run in order (if I remember correctly), and ExecStopPost is brilliant for notifying problems..
The main benefit of cron is your code stops once it’s done, process is cleaned up. There isn’t a provided way to do dependencies but that can be done using some shared locks and scheduling. Won’t be completely accurate which why solutions like Airflow are used.

Edit: forgot the most obvious way to do dependencies… just execute A & B together as one cron job; still need something like airflow if it gets into a DAG territory