A multi-user job queue manager for Python scripts, designed to run on a shared drive (e.g. D:) on Windows Server.
- Add Python scripts (
.pyfiles) to a shared queue - Live dashboard showing the currently running job, queued jobs, and completed jobs
- Move queued jobs up/down by setting a position number
- Kill the currently running job (with tracking of which user killed it)
- Start / resume queue processing
- Console output from each job is saved to a
.msgfile alongside the script - No admin rights required to run
- Python 3.8 or later
- Install Flask:
pip install flask
- Copy the
FellowQfolder to your shared drive (e.g.D:\FellowQ). - Open a terminal (Command Prompt or PowerShell) and navigate to the folder:
cd /d D:\FellowQ - Install Flask if you haven't already:
pip install flask - Run FellowQ:
python fellowq.py - Open the dashboard in your web browser:
- On the same machine: http://localhost:5000
- From another machine:
http://<server-name>:5000
1. Set your username – Enter your name in the top-right field so the queue knows who added or killed each job.
2. Add jobs – Type the full path to a .py file and click Add. The script is added to the end of the queue.
3. Start the queue – Click Start Queue. FellowQ will begin executing queued jobs in order.
4. Monitor – The dashboard updates automatically every 2 seconds. The Currently Running section shows live console output from the active job.
5. Reorder jobs – Change the number next to any queued job and click Move to change its position.
6. Kill a job – Click Kill Current Job to stop the running job. The queue will not start the next job automatically (click Start Queue again when ready).
7. Completed jobs – Finished jobs appear in the Completed Jobs section with start/end times, exit status, and who added (and killed) them.
| File | Description |
|---|---|
fellowq.py |
Main application (Flask web server + job runner) |
templates/index.html |
Web dashboard |
settings.json |
Settings (e.g. port number and user badges) |
queue.json |
Persistent job queue (auto-created) |
*.msg |
Console output files, created next to each .py script |
- FellowQ uses a single background thread to execute jobs one at a time.
- Console output is written to a
.msgfile in the same folder as the script (e.g.my_script.py→my_script.msg). - The queue is persisted to
queue.json, so it survives restarts. - User badges in the header are loaded from
settings.json(userslist). - Press
Ctrl+Cin the terminal to stop FellowQ.
