Skip to main content

EWMS's Pilot: A Job Pilot for Processing EWMS Events/Tasks

Project description

PyPI GitHub release (latest by date including pre-releases) Versions PyPI - License GitHub issues GitHub pull requests

ewms-pilot v1

An Event-Task Pilot for EWMS

The EWMS Pilot is a non-user-facing wrapper for task container instances in the Event Workflow Management System (EWMS), running on an HTCondor Execution Point (EP). The pilot:

  • Triggers task instances for each inbound event.
  • Interfaces with EWMS events as input/output files.
  • Isolates task containers from one another.
  • Provides fault tolerance for failed tasks, CPUs, etc.

The following outlines what users need to know to operate within EWMS.

Overview

The Pilot is designed to be invisible to users. However, some key details are necessary for running a task container:

Task Container Overview

A task container is created for each inbound event, it is defined by its image, arguments, and environment variables. See the WMS docs for information on setting these within EWMS.

Event I/O

An input event is provided to the task container as a file. The task container creates an output event by writing to a predetermined location.

The pilot provides the filepaths to the input and output files in two ways:

  1. By replacing the placeholder strings, {{INFILE}} and {{OUTFILE}}, in the container's arguments at runtime.
  2. By setting the task container's environment variables: EWMS_TASK_INFILE and EWMS_TASK_OUTFILE.

The files' extensions are configured by the pilot's environment variables, EWMS_PILOT_INFILE_EXT and EWMS_PILOT_OUTFILE_EXT: by default, these are .in and .out, respectively.

No other event or message handling is required by the task container.

The Init Container

An init container is an optional, user-supplied image used to set up the environment, wait for conditions, or perform other preparatory actions before running task containers. It is configured using the EWMS_PILOT_INIT_IMAGE, EWMS_PILOT_INIT_ARGS, and EWMS_PILOT_INIT_ENV_JSON environment variables.

File I/O

Task containers (and init containers) can interact with external files in two ways:

Inter-Task Files

To transfer files between task containers, a shared directory is available to all task containers and the init container.

The pilot provides the filepath to the "data hub" in two ways:

  1. By replacing the placeholder string, {{DATA_HUB}}, in the container's arguments at runtime.
  2. By setting the task container's environment variable: EWMS_TASK_DATA_HUB_DIR.

Note:

  • The data hub directory is writable, but there is no protection against race conditions for parallelized tasks.

External Files

Externally-mounted directories are supported in EWMS. See the WMS documentation for more details.

EWMS Glossary Applied to the Pilot

Workflow

Does not exist within the Pilot. Compare to WMS.

Message Queue

The message queue is abstracted from the task container and can be ignored. Compare to WMS.

Event

An event is an object transferred via event I/O. Compare to WMS.

Task

In the context of the Pilot, the task is the runtime instance of the task image (a task container) applied to an inbound event, possibly producing outbound events. Compare to WMS.

Task Container

The task container is an instance of a task image and is nearly synonymous with task.

Task Directive

Does not exist within the Pilot. Compare to WMS.

Taskforce

Does not exist within the Pilot. Compare to WMS.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ewms_pilot-1.0.5.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ewms_pilot-1.0.5-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file ewms_pilot-1.0.5.tar.gz.

File metadata

  • Download URL: ewms_pilot-1.0.5.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for ewms_pilot-1.0.5.tar.gz
Algorithm Hash digest
SHA256 6ca2119e6aa3b8312d411c554a1d71669560ded36302a3376fb12e0119337c3f
MD5 a92be70b5c2abd3b08507e1cb295dabc
BLAKE2b-256 13afee8032b75cddbd83be590bba11957f4aeeb741104d1ebe91e6134083edd6

See more details on using hashes here.

File details

Details for the file ewms_pilot-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: ewms_pilot-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for ewms_pilot-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b17ece81a42af19d648a79b17a9a4f020368c04704fc64452c544c21316b0be9
MD5 e41504c42f6079baee55809c37ddb8cd
BLAKE2b-256 497b5f6f7e7f00a162fa99fdfba770c22d0b22fa8ee8780e63db2cb5d31663f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page