Skip to content

MercenariesEngineering/coalition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Documentation Status badge-size badge-version badge-coverage badge-tests

Full online documentation is availlble on ReadTheDocs.

Coalition

Coalition is a lightweight open source job manager client-server application whose role is to control job execution in a set of computers. A computer is acting as a server centralizing the list of jobs to be done. A set of physical (or virtual, eg. in the cloud) computers acting as workers shall be deployed, raising the global grid system ressources.

The server waits for incoming workers connections. Workers ask the server for a job to do. When the server is asked by a worker for a job, he decides which job to attribute according to simple affinity rules. The worker is now aware of which job it has to do. The worker executes the job. When the job is done, the worker informs the server of the job's execution status and ask for a new job.

Coalition should not be used on the public Internet but on private LANs, cloud VLANs or VPN for security reasons.

Coalition has been successfully used in production notably for renderfarms.

Coalition provides:

  • Broadcast discovery for workers to find the server whithout configuration;
  • RESTfull python API based on Twisted matrix for program to program communication;
  • Cloud ready configuration to manage starting/termination of workers in the cloud;
  • Web interface for humans to control jobs, workers, affinities and view status and logs;
  • Database interface for sqlite and mysql;
  • Logging system;
  • Email notification system;
  • Access Control List when connected to a LDAP server;
  • Unittests of critical code parts;
  • Source code and documentation on the development platform.

The current stable version are 3.8 and 3.10.

The development version is |current-version|.