Table of Contents |
---|
Scope
Excerpt |
---|
The JobScheduler comes with a powerful REST Web Service interface for access by external applications. This interface is used for tasks such as adding orders, adding events and retrieving job and order status information. |
- The JobScheduler REST Web Service is a replacement for the retired XML Interface.
- The REST Web Service is used by the JOC Cockpit and by external applications for interaction with a JobScheduler Master:
- The REST Web Service offers access to objects such as jobs, job chains and orders and their respective operations, e.g. to add an order to a job chain.
- Access to the REST Web Service is restricted by permissions, see Authentication and Authorization - Permissions for the JobScheduler REST Web Service
...
The documentation is available from httphttps://testwww.sos-berlin.com/JobSchedulerJOC/latestJS1/raml-doc/JobScheduler-REST-web-services/JOC-API/index.html and includes the RAML specification.
...
The following table states the available XML commands for the JobScheduler REST Web Service, deprecated XML commands show a red background.
XML Command | Description |
---|---|
<show_state/> | Retrieves status information about a JobScheduler Master |
Shows parameters from ./config/ scheduler.xml | |
<terminate restart="yes"/> | Terminates and restarts a JobScheduler Master |
<modify_spooler cmd="abort_immediately_and_restart"/> | Aborts and restarts a JobScheduler Master |
<modify_spooler cmd="pause"/> | Pauses a JobScheduler Master |
<modify_spooler cmd="continue"/> | Continues operation of the JobScheduler Master after pausing |
<terminate/> | Terminates a JobScheduler Master |
<modify_spooler cmd="abort_immediately"/> | Aborts a JobScheduler Master |
<modify_spooler cmd="stop"/> | Stops any running tasks in a JobScheduler Master |
<scheduler_log.log_categories.set/> <scheduler_log.log_categories.reset/> | |
Terminates the active JobScheduler cluster member and activates a passive cluster member for fail-over | |
<terminate restart="yes" all_schedulers="yes"/> | Terminates and restarts all JobScheduler cluster members |
<terminate all_schedulers="yes"/> | Terminates all JobScheduler cluster members |
<show_history/> | Retrieve the JobScheduler history |
<show_order/> | Retrieve order status information |
<modify_order state="..." end_state="..."/> | Modifies the starting and ending states of an order |
<modify_order><run_time/></modify_order> | Modifies the run-time of a temporary ad hoc order |
<modify_order><params><param name="..." value="..."/></params></modify_order> | Modifies order parameters |
<modify_order><run_time/></modify_order> | |
<modify_order state="..."/> | Modifies an order's state |
<modify_order/> | Modifies any remaining order attributes not covered by other permissions |
modify_hot_folder><order/></modify_hot_folder > | ./config/live directory |
<modfiy_order at="now"/> | Causes an immediate start of the order |
<modify_order/> | Updates order attributes |
<modify_order suspended="yes"/> | Suspends an order |
<modify_order suspended="no"/> | Continues a previously suspended order |
<modify_order action="reset"/> | Resets an order |
<modify_order setback="no"/> | Removes a setback setting for an order |
<remove_order/> | Removes a temporary ad hoc order from the JobScheduler Master |
<show_ |
job_chain/> | Retrieves status information about a job chain |
<job_chain.modify state="stopped"/> | Stops a job chain |
<job_chain.modify state="running"/> | Continues a previously stopped job chain |
<add_order/> | Add a temporary ad hoc order to a job chain |
<job_chain_node.modify action="next_state"/> | Skips a job chain node |
<job_chain_node.modify action="process"/> | Continues processing of a job chain node that has previously been skipped or stopped |
<job_chain_node.modify action="stop"/> | Stops a job chain node |
modify_hot_folder><job_chain/></modify_hot_folder > | ./config/live directory |
<show_job/> | Retrieves status information about a job |
<modify_job><run_time/></modify_job> | |
modify_hot_folder><job/></modify_hot_folder > | ./config/live directory |
<start_job/> | Starts a job |
<modify_job cmd="stop"/> | Stops a job |
<modify_job cmd="unstop"/> | Unstops a previously stopped job |
<modify_job cmd="end"/> | Terminates a job |
<kill_task/> | Kills a task that is running for the job |
<kill_task immediately="yes" timeout="never"/> | Sends all running tasks for a job a SIGTERM signal |
<modify_job cmd="suspend"/> | Suspends all running tasks for a job |
<modify_job cmd="continue"/> | Continues all previously suspended tasks for a job |
<show_state/> | Retrieves status information about process classes |
<process_class/> | |
<process_class.remove/> | |
modify_hot_folder><process_class/></modify_hot_folder > | ./config/live directory |
<show_state/> | Retrieves status information about schedules |
modify_hot_folder><schedule substitute="..."/></modify_hot_folder > | |
<schedule.remove/> | |
modify_hot_folder><schedule/></modify_hot_folder > | ./config/live directory |
<show_state/> | Retrieves status information about locks |
<lock/> | |
<lock.remove/> |
Examples
Example for authentication request
...
- The JobScheduler REST Web Service (and the JOC Cockpit) are operated on the
localhost
with port4446
. - The URL in use is http://localhost:4446/joc/api/security/login
- The
Authorization
header is used for HTTP Authentication, i.e. the constant valueBasic
and the base64 encoded user name and password separated by a colon. - Consider use of the
Content-Type
headerapplication/json
. - No body is required for this request.
...
The REST Web Service response is provided in JSON format and could look like this:
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
POST /joc/api/jobscheduler/commands HTTP/1.1 Host: localhost:4446 access_tokenX-Access-Token: c96a8563-5910-4d76-bc2a-4bc969a88d05 Content-Type: application/xml Cache-Control: no-cache <jobscheduler_commands jobschedulerId='scheduler111'><show_state/></jobscheduler_commands> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
POST /joc/api/jobscheduler/commands HTTP/1.1 Host: localhost:4446 access_tokenX-Access-Token: ce31fb8f-9f5a-4e3e-805d-72c71d0547ce Content-Type: application/xml Cache-Control: no-cache Postman-Token: 88bd687a-586d-fd93-d203-bcd7e71a6a85 <jobscheduler_commands jobschedulerId='scheduler111'><add_order job_chain="/some_folder/some_chain"><params><param name="first" value="1st"/><params name="second" value="2nd"/></params></add_order></jobscheduler_commands> |
...
- Authentication and Authorization
- JobScheduler Reference Documentation:
- JobScheduler REST Web Services
...