
Making cron job easy

Making cron job easy
Cronfrog is a self-hosted job scheduling application designed to execute scheduled shell commands. It is built with a Python backend using FastAPI and APScheduler, and it stores job data in SQLite. The application runs as a single process with an HTTP server, background scheduler, and job executor sharing an asyncio event loop. It requires no external infrastructure such as Redis or Celery, and it can be deployed with a single command. The tool provides a web dashboard that displays job statistics, execution history, and status badges. Users can create, edit, enable, disable, or delete jobs through the interface. A cron expression builder assists in setting schedules using presets or custom expressions. Real-time log streaming is available via WebSockets, allowing users to watch standard output and error streams from jobs as they run. A REST API with auto-generated Swagger UI documentation enables programmatic management of jobs. Typical use cases include automating recurring system tasks, running maintenance scripts, or scheduling data processing jobs without requiring complex infrastructure. The workflow involves navigating to the dashboard, creating a new job by specifying a name, shell command, and cron schedule, then monitoring job runs through live terminal views. Status badges indicate whether jobs are active, currently running, or have failed. The application runs on port 8000 by default and can be configured via environment variables. Technical requirements include Python and the ability to run the application on any system that supports Python. The entire setup involves cloning the repository, installing dependencies, and executing the run script. Data is persisted in a single SQLite file, making backups and portability straightforward. The application is authored by Shayan Saha and is available at a public repository.