Am I Missing Something? How Should I Manage Reoccuring Python Tasks?
I am increasingly a believer in local-first application development. I think it's just me getting on in my old age and wanting kids to get off my lawn and what-have-you, but I just find it frustrating that we have these beautiful operating systems at our disposal and all the kids want to just abstract them away and run client-server model solutions for everything.
I am running macOS. I want my personal computer to execute a task that I have written in Python. My understanding is that I could plug it into launchd as a LaunchAgent but there doesn't seem to be a pythonic way of doing this (please enlighten me!).
Alternatively, I could run it as a cron job and output my logs to standard logging locations. I guess that would be the most OS-y way of running a small task.
I would love something a little bit in the middle. Definitely not Airflow-size. Even smaller than Celery/Redis size. But also maybe not as barebones and unopinionated as cron/logs.
What is a lightweight personal task framework that is designed for local first? I guess my wishlist would be (off the cuff):
Python module that you import into your python script that provides:
- A standard function for logging at production and debug levels
- A standard way of producing results for success and error
An app (Preferably a GUI, preferably not a web app, Am I the only one who doesn't like running everything in my browser...?) that allows me to see a history of task execution, view the logs, adjust the schedule, understand the memory and disk usage of the task
The same python module provides command line parameters to execute my task in a managed runtime so that I can build within the framework from the first line of code (i.e. an SDK)
Anyone know anything like this?