Jobs detailed description
Jobs are intended for operation in resource-constrained environments, where it is possible to divide the data into batches and process them sequentially. Unlike lambdas, jobs are primarily controlled by the luna-lambda service, and the set of operations a user is allowed to perform on jobs is more limited compared to lambdas.
Jobs can only be created within a workflow and work in turns.
General description
A workflow represents a set of parameters, including the Docker image used for all jobs created within that workflow. If a workflow is removed, all its jobs are removed as well. Multiple jobs can be created within a single workflow.
During job creation, most parameters inherited from the workflow may be overridden, subject to the following restrictions:
every job within a workflow must have a unique name
every job within a workflow use the same Docker image
The luna-lambda service manages the job queue for each namespace. Queue sizes may differ between namespaces. The maximum number of simultaneously running jobs is limited by the queue size. Independently of job settings, the maximum job execution time is determined by the luna-lambda configuration.
Requirements
General workflow requirements are the same as for lambdas, but there are also additional mandatory and optional requirements.
Types
Currently, two types of jobs are supported: Standalone and Agent (all other descriptions applicable to regular lambdas also apply to jobs). This list may be extended in the future. Each job type has its own characteristics, particularly in areas where specific functions and structures may be used.
General characteristics relevant for development are described in the chapter Job Development General Description.
Standalone job specifics relevant for development are described in the chapter Standalone Job Development Description.
Agent job specifics relevant for development are described in the chapter Agent Job Development Description.