Giter Site home page Giter Site logo

marwamezghani / jqm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from enioka-haute-couture/jqm

0.0 1.0 0.0 14.33 MB

An asynchronous job manager

License: Apache License 2.0

Python 0.14% Java 85.40% PowerShell 0.93% Shell 0.81% HTML 5.16% CSS 0.15% JavaScript 6.37% Dockerfile 0.12% Batchfile 0.20% TSQL 0.72%

jqm's Introduction

JQM

Full documentation and feature list

Quickstart tutorial

Release notes

The aptly named Job Queue Manager, or JQM for short, is a queue manager. It has three goals:

  • to optimize and streamline the execution of jobs, whatever they may be, by using queues with rich configuration
  • to make job administration simple
  • to be easy to include or embed in most environments.

The result is a small-footprint, easy to use grid execution system that takes care of everything which would be boilerplate code or missing otherwise: configuring logs, throttling processes, handling priorities between different classes of jobs, distributing the load over multiple servers, distributing the files created by the jobs, and much more...

It is able to run anything that can be run on the command line without modifications. It also has a very rich Java integration which make it an ideal "job application server" for Java users - with no modifications required, allowing to directly use code from plain Main to Spring Batch and other frameworks...

Jobs and users also optionally benefit from rich REST APIs exposing all JQM data and operations.

There are many use cases for JQM. Common real-world examples include:

  • replacing another job execution manager, like the one inside OS/400 - a reference as far as job queuing is concerned
  • adding a distributed execution capability to a scheduler or any application
  • removing load from a paid application server
  • removing asynchronous executions from a web application server, not designed to deal with long running threads
  • throttling jobs, like allowing only one instance of the same job at a time

Also of note that JQM was created with compatibility in mind:

  • uses either PostgreSQL, Oracle, MySQL, DB2 or an embedded HSQLDB
  • one of the client API implementations is a REST-like API, callable from everywhere, not only Java but also .NET or shell scripts
  • the Java implementation of the client API is usable in all application servers and JSE code (tested with WebSphere 8.x, Glassfish 3.x, Tomcat 7.x, JBoss 7+...)
  • under an Apache 2 license, which basically allows you to do anything you want with the product and its code in any situation.

Finally, JQM is a free (as beer) and open source product backed by the IT consulting firm Enioka which first developed it for an international conglomerate. Enquiries about support, development of extensions, integration with other products, consulting and other commercial questions are more than welcome at [email protected]. Community support is of course freely offered on GitHub using the bug-tracker.

jqm's People

Contributors

marcanpilami avatar coppee-p avatar digitalfox avatar croooo avatar pauleing avatar bport avatar unusual-thoughts avatar tuxella avatar alextawse avatar htbag avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.