SIP Processing Block Controller library.
Project description
# SKA SDP SIP Processing Block Controller
Library and Celery worker image for executing Processing Block workflows
within the SDP SIP prototype code. This is implemented as a set
of [Celery](http://www.celeryproject.org/) tasks which can be used to
asynchronously execute SIP Processing Block workflows on a Processing
Block Controller (*Celery Worker*) instance.
## Library installation
```bash
pip install skasip-pbc
```
## Starting a containerised PBC instance
For the Processing Block Controller to function, a *Redis Database* instance
must be created, which provides the role of the *Celery Broker* and
*Execution Control Configuration Database*. Once this is available,
a *Processing Block Controller (Celery Worker)* can be started.
For the *Redis Database*m a standard redis container can be started (eg. using
the official [`redis:5.0.1-alpine`](https://hub.docker.com/r/library/redis/)
image). *The Processing Block Controller Celery worker* can be started using
the image [`skasip/processing_block_controller`](https://cloud.docker.com/u/skasip/repository/docker/skasip/processing_block_controller).
A Docker Compose file (`docker-compose.dev.yml`) is provided in this folder
for starting a Redis instance and a PBC Celery worker. This can be used with
the following command:
```bash
docker stack deploy -c docker-compose.dev.yml pbc
```
## Typical usage
**Note:** Requires a *Celery Worker*, *Celery Broker*, and a
*SKA SIP Execution Control Configuration Database* instance are running
(see above)!
```python
# coding: utf-8
"""Example SIP PBC usage."""
import sip_pbc
# Get the PBC version.
result = sip_pbc.version.delay()
version = result.get(timeout=1)
print(version)
# Execute a PB workflow.
result = sip_pbc.execute_processing_block.delay(pb_id='...')
```
Library and Celery worker image for executing Processing Block workflows
within the SDP SIP prototype code. This is implemented as a set
of [Celery](http://www.celeryproject.org/) tasks which can be used to
asynchronously execute SIP Processing Block workflows on a Processing
Block Controller (*Celery Worker*) instance.
## Library installation
```bash
pip install skasip-pbc
```
## Starting a containerised PBC instance
For the Processing Block Controller to function, a *Redis Database* instance
must be created, which provides the role of the *Celery Broker* and
*Execution Control Configuration Database*. Once this is available,
a *Processing Block Controller (Celery Worker)* can be started.
For the *Redis Database*m a standard redis container can be started (eg. using
the official [`redis:5.0.1-alpine`](https://hub.docker.com/r/library/redis/)
image). *The Processing Block Controller Celery worker* can be started using
the image [`skasip/processing_block_controller`](https://cloud.docker.com/u/skasip/repository/docker/skasip/processing_block_controller).
A Docker Compose file (`docker-compose.dev.yml`) is provided in this folder
for starting a Redis instance and a PBC Celery worker. This can be used with
the following command:
```bash
docker stack deploy -c docker-compose.dev.yml pbc
```
## Typical usage
**Note:** Requires a *Celery Worker*, *Celery Broker*, and a
*SKA SIP Execution Control Configuration Database* instance are running
(see above)!
```python
# coding: utf-8
"""Example SIP PBC usage."""
import sip_pbc
# Get the PBC version.
result = sip_pbc.version.delay()
version = result.get(timeout=1)
print(version)
# Execute a PB workflow.
result = sip_pbc.execute_processing_block.delay(pb_id='...')
```
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
skasip-pbc-1.2.3.tar.gz
(4.5 kB
view hashes)
Built Distribution
Close
Hashes for skasip_pbc-1.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ca356961d4f96c3db79998e0bf611eb2221851b65ab79fd50a9b2af725d4736 |
|
MD5 | d851c20df64d8a14ec729de2baf8f32f |
|
BLAKE2b-256 | 88cf6374f9d0a27e37ed2b337e39f5d8a74e22d9b23a527a57e014765ef78eeb |