Skip to main content

Run FireWorks workflows in Google Cloud

Project description

Borealis

Runs FireWorks workflows on Google Compute Engine (GCE).

See the repo Borealis.

  • Borealis is the git repo name.
  • borealis-fireworker is the PyPI package name.
  • borealis-fireworker.service is the name of the systemd service.
  • fireworker is the recommended process username and home directory name.

Background

You can launch as many FWorker nodes as you want as Google Compute Engine (GCE) VM instances, and/or run local workers, as long as they can all connect to the LaunchPad server running MongoDB. Metadata parameters and the worker's my_launchpad.yaml file supply the MongoDB host, port, and DB name. Users can share a MongoDB server, and each user can have multiple DB names -- each an independent space for workflows and worker nodes.

Workers get Fireworks from the LaunchPad, run them in "rapidfire" mode, and eventually time out and shut themselves down.

Workers can run any Firetasks that are loaded on their disk images, but the best fit is to run the DockerTask Firetask. DockerTask pulls task input files from Google Cloud Storage (GCS), runs a payload task as a shell command within a Docker container, and pushes task output files to GCS.

DockerTask parameters include the Docker image to pull, the command shell tokens to run in the Docker container, and its input and output files and directories.

DockerTask pulls the inputs from and pushes the outputs to Google Cloud Storage (GCS). This avoids needing a shared NFS file service which costs 10x as much as GCS storage and doesn't scale as well.

Using a Docker image lets you bundle up the payload task with its entire runtime, e.g. Python version, pips, Linux apts, and config files. Your workflow can use one or more Docker images, and they're isolated from the FWorker.

Team Setup

TODO: Install & configure dev tools, create a GCP project, auth stuff, install MongoDB on a GCE VM or set up Google-managed MongoDB, create a Fireworker disk image & image family, ...

Individual Developer Setup

TODO: Install & configure dev tools, make a storage bucket with a globally-unique name, build a Docker image to run, ...

Run

TODO

Project details


Download files

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

Source Distribution

borealis-fireworks-0.1.0.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

borealis_fireworks-0.1.0-py2.py3-none-any.whl (28.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file borealis-fireworks-0.1.0.tar.gz.

File metadata

  • Download URL: borealis-fireworks-0.1.0.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.0

File hashes

Hashes for borealis-fireworks-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7d005e9674d124e7116eac4be0f45fa7773d023cfac2feb95278b53a3d892269
MD5 d2eb575a83a70f52e2ed4988756bce7e
BLAKE2b-256 b0fd77d33dec9f78c9774bca34e98545f26ace53cf5ed49b31e69ed0d937a0c1

See more details on using hashes here.

File details

Details for the file borealis_fireworks-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: borealis_fireworks-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 28.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.0

File hashes

Hashes for borealis_fireworks-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 264a9727320fd4b713c18072eeee1d136b219117bb5c29df142fc435fd08bef0
MD5 2b261505194e39a33dfeb984f94b9c64
BLAKE2b-256 ac7b890457ce17545d6737d5791f5953c53930141ab530403cf5fa467dbae8aa

See more details on using hashes here.

Supported by

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