Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This plugin delegates scheduling decisions to external scheduling service.

Overview

This plugin monitors jenkins queue and sends it to external scheduler periodically as well as obtaining job-to-node mapping. It propagates this mapping back to the Jenkins scheduler.

Configuration

 Plugin is inactive unless URL of external scheduler is provided in global configuration (External scheduler plugin/REST server url). Plugin will try to connect to the remote scheduler and verify the connection.

External scheduler

External scheduler is a REST service deployed on URL accessible to Jenkins. It communicates using JSON encoded messages.

/hudsonQueue/info

GET

Yields plaintext message identifying the service.

Code Block

info: <service-identification-string>

/hudsonQueue

POST

Updates json encoded queue representing jobs awaiting execution (buildable items).

PUT

Sets json encoded queue representing jobs awaiting execution (buildable items).

GET

Yields json encoded solution to be scheduled on jenkins

DELETE

Stops external scheduler

Warning

This plugin is deprecated and should not be used

Wiki Markup
{jenkins-plugin-info:pluginId=external-scheduler}

Image Added
This plugin delegates scheduling decisions to external scheduler implementation. A list of scheduler implementations can configured at global config page. Plugin picks first configured scheduler or default Jenkins scheduling mechanism if there is no scheduler configured or the implementation misbehave. This way administrator can preserve any number of configured schedulers of any kind and activate one of them moving it to the front of the list.

Extending plugin

This plugin exposes Scheduler extension point for other plugins to register own schedulers. The implementation yields item to node mapping describing where an item should run.