Jordan Schilling | Technologist, Software Builder, and Engineer
Software engineer focused on automation systems, experimental tools, and developer productivity. Projects, dev logs, and technical writing.
by Jordan Schilling
This update explores automating the time tracking application to run daily without manual user intervention. The goal was to ensure the application starts and stops on a predictable schedule and reliably produces daily tracking data.
The initial approach focused on managing runtime entirely within the Python application itself. Further evaluation revealed that while viable for testing, this approach was not ideal for real-world usage or long-term maintainability.
The original idea was to embed a timer directly into the Python application that would automatically terminate execution after a fixed duration.
86,280 seconds represents 23:59:0012:00 AM), the application would exitThis approach relied on internal timers to “kill” the application once the time limit was reached.
Embedding shutdown logic inside the application blurred responsibility between the OS and the application itself.
The design pivoted to using OS scheduling to control application execution:
.bat file acts as the execution entry pointThis separation of concerns resulted in a cleaner and more robust solution.
As part of implementing scheduled execution: