Previous: , Up: REST API   [Contents][Index]


Rest API for performing asynchronous jobs as part of sel.

It attempts to conform to principals described here: Representational State Transfer

2.6.3.6 Dependencies

The Rest API leverages a number of Common Lisp components, which are open-source and generally available via Quicklisp. See the core REST file for a full description and how to start a rest server. In addition, this file is built from the session and standard library definitions for REST provided as part of sel.

2.6.3.7 Resources and Operations

This file provides the following:

Resources

The following types of resources are supported.

Jobs

Any long running operation which starts a task and returns to the client immediately. Examples of jobs include running evolutions, fitness tests across large populations, and searches.

Operations on Resources

Note: asynchronous job management requires a cid (Client ID) integer value representing the Client id for session lookup. See the client sessions file for endpoint usage to acquire one.

Async-Job:

post

<service-base>/async?cid=<cid>?type=<job-type> Body contains (json) parameters for evolve task, fitness-test or other defined type of task. Returns immediately with a Job-ID (jid). Creating a Job starts a task (on a new thread) which will execute until stopped or completed.

get

<service-base>/async?cid=<cid>?jid=<Job-ID> Returns JSON containing job status and results.

put

<service-base>/async?cid=<cid>?jid=<Job-ID>&<update-vars> Allows some control of the task, such as stopping the task. (Currently not implemented.)