Framework for task processing executors and configuration
Project description
Task Processing
Interfaces and shared infrastructure for generic task processing (also known as taskproc
) at Yelp.
Developer Setup
Pre-requisites
Running tests
From the root of the repository, run:
make
Repository Structure
/interfaces
Event
Runner
TaskExecutor
/plugins
Plugins can be chained to create a task execution pipeline with more than one property.
Kubernetes
Implements all required interfaces to talk to Kubernetes. This plugin uses kubernetes-client to communicate with Kubernetes.
/runners
Runners provide specific concurrency semantics and are supposed to be platform independent.
Sync
Running a task is a blocking operation. sync
runners block until the running task has completed or a stop
event is received.
Async
Provide callbacks for different events in tasks' lifecycle. async
runners allow tasks to specify one or more EventHandlers which consist of predicates and callbacks. Predicates are evaluated when an update is received from the task (e.g. that it has terminated and whether or not it has succeded) and if the predicate passes, the callback is called.
Promise/Future
Running a task returns future object.
Subscription
Provide a queue object and receive all events in there.
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
Built Distribution
File details
Details for the file task_processing-1.0.0.tar.gz
.
File metadata
- Download URL: task_processing-1.0.0.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25e34cc3778034451504ff32f2a2f339505175cb3236460e9c70ef223f218456 |
|
MD5 | cd3e88ee9bc1a2eb164ff77a652682ec |
|
BLAKE2b-256 | 313f2009e1e0e335ee905ea0cd66dfa944ba88cf03d9e60f7dc8ff1f4ad6cee2 |
Provenance
File details
Details for the file task_processing-1.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: task_processing-1.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a2f3a7f0d1bc1918f4c047c1ccc1d9c9957364abeb3668bc727147f31a115b3 |
|
MD5 | 8f012b539d07b2d25293d40b528bd386 |
|
BLAKE2b-256 | ccb50c495a7adeaab9f69c9b38a4b7ace99a7ee34de5c9176f0f215d25db9be0 |