Skip to content
JorenPelfrenePublic

About

Local job queue manager for executing Python scripts and FEA/CFD simulation models

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

FellowQ

A multi-user job queue manager for Python scripts, designed to run on a shared drive (e.g. D:) on Windows Server.

FellowQ sample

Features

  • Add Python scripts (.py files) 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 .msg file alongside the script
  • No admin rights required to run

Requirements

  • Python 3.8 or later
  • Install Flask: pip install flask

Quick Start

  1. Copy the FellowQ folder to your shared drive (e.g. D:\FellowQ).
  2. Open a terminal (Command Prompt or PowerShell) and navigate to the folder:
    cd /d D:\FellowQ
    
  3. Install Flask if you haven't already:
    pip install flask
    
  4. Run FellowQ:
    python fellowq.py
    
  5. Open the dashboard in your web browser:

Usage

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.

Files

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

Notes

  • FellowQ uses a single background thread to execute jobs one at a time.
  • Console output is written to a .msg file 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 (users list).
  • Press Ctrl+C in the terminal to stop FellowQ.

About

Local job queue manager for executing Python scripts and FEA/CFD simulation models

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages