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.1.tar.gz
(4.6 kB
view hashes)
Built Distribution
Close
Hashes for skasip_pbc-1.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f53e86061126e66106a3964eaf384152ad7c0c3d5a9da24361231334480f4eb |
|
MD5 | 6c36d737e12ffffbd9dba599cefacda4 |
|
BLAKE2b-256 | 483b539e1b1b7f5c89f3f71127ec06984ff230321d60e6b5c1f74d95bd9a786c |