Taranis AI Scheduler
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
Scheduler Service
This service provides a scheduling system that interacts with a PostgreSQL backend to manage tasks. It supports adding, deleting, and viewing scheduled jobs via a Flask web interface, utilizing HTMX for dynamic updates. The service also includes special handling for debug mode, which displays a warning and disables job modification capabilities in production.
Features
- Task Scheduling: View scheduled tasks with options to add and delete jobs in debug mode.
- HTMX Integration: Dynamic updates to the job list without full page reloads.
- Flask Web Interface: Clean and responsive user interface with job management.
- Debug Mode Handling: Debug mode displays a warning and disables modification actions (add/delete).
- Tailwind CSS: Modern and responsive UI styling.
Installation
It's recommended to use a uv to setup an virtual environment.
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
Source venv and install dependencies
source .venv/bin/activate
uv pip install -Ue .[dev]
Development Setup
1. Download and Setup Tailwind CSS
We use Tailwind CSS for styling the frontend. First, download the Tailwind CSS CLI tool:
curl -sLo tailwindcss https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-linux-x64
chmod +x tailwindcss
2. Start Tailwind CSS in Watch Mode
Run Tailwind CSS in watch mode to automatically build the CSS files as you modify the styles:
./tailwindcss -i scheduler/static/css/input.css -o scheduler/static/css/tailwind.css --watch
This will generate the tailwind.css file based on the input CSS and keep it updated as you develop.
3. Start Flask
Run the Flask development server:
flask run
This will start the Flask server and run the scheduler service at http://localhost:5000.
Usage
The job list shows all scheduled jobs, including their arguments, next run times, and triggers.
Debug Mode
Adding & Deleting Jobs
In debug mode, the interface allows you to add jobs by specifying the job name and interval (in seconds). These jobs are then stored in the PostgreSQL job store and managed by the APScheduler. Similarly, in debug mode, you can delete jobs from the interface using the delete buttons next to each job in the list.
When the service is running in debug mode, a warning banner will be displayed at the top of the page, and you will have access to the job add/delete functionality.
In production (when debug mode is off), job modification functionality will be hidden, and users cannot modify the schedule.
Configuration
Configuration is handled via environment variables.
Required Environment Variables
-
SQLALCHEMY_DATABASE_URI: The connection string to your PostgreSQL database.- Example:
postgresql://username:password@localhost:5432/your_database
- Example:
-
FLASK_ENV: Set todevelopmentorproduction.- Example:
export FLASK_ENV=development
- Example:
-
FLASK_APP: Set this to the name of your app (e.g.,scheduler).- Example:
export FLASK_APP=scheduler
- Example:
-
JWT_SECRET_KEY: The secret key for signing JWT tokens.- Example:
export JWT_SECRET_KEY=your-secret-key
- Example:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file taranis_scheduler-0.3.3.tar.gz.
File metadata
- Download URL: taranis_scheduler-0.3.3.tar.gz
- Upload date:
- Size: 61.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac426c526b1c1bf5b05358c2eb43c377612274db80335bce8ff94ab7062d3372
|
|
| MD5 |
0d72728bf8d9b394e16e17295f597ad9
|
|
| BLAKE2b-256 |
a89d898e25c90c4b92115ce4765540c979c67b028bac908c3ddcf334223d438b
|
File details
Details for the file taranis_scheduler-0.3.3-py3-none-any.whl.
File metadata
- Download URL: taranis_scheduler-0.3.3-py3-none-any.whl
- Upload date:
- Size: 41.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
feb25611cafac14c7a4362825f3768512fbe97f8630e78840073769f1d39a7c1
|
|
| MD5 |
199ca2d82251c2daea0e14cb2210b589
|
|
| BLAKE2b-256 |
29ec0ed22feed7fe29d5f902b2c9add606d752ff752bea7a82f2c7147ca58ccd
|