a simple job server. it works by shitting shell scripts over the network. designed to be easy to write shell scripts for, and easy to work with in any other language, too
the protocol is somewhat documented in /PLAN
employer.py keeps track of jobs. it takes a database path, port, and optionally a host to listen on
employee.py runs jobs. it takes a host and port, and polls the server for new jobs, reporting a done or failed status based on the exit code of the server. it's not the most reliable thing atm
taken.py connects to a server, and outputs all the jobs that are in progress
queuers/employ.sh takes a given file and adds it to the job queue, outputting the job's id
queuers/reenc.py is what i actually built this for. it provides a way to queue ffmpeg encoding jobs, with some organization and stuff handled for you. it takes a host and port, and a directory to re-encode. it is specifically for tv shows, and other things released in a season/episode fashion. it recursively finds all media files in the given directory, and generates a file of metadata. then, it opens the file for the user to edit. episodes each have a season, episode, and title. once you've corrected the info in the file, re-run the script with the same args, and it'll queue jobs for every resolution in the RESOLUTIONS array. you'll probably want to change the actual encoding instructions if you use this, mine is for low-power devices