Skip to main content

Hyrex is the open-source COLD task orchestration framework built on Postgres.

Project description

hyrex-sdk

Hyrex is a modern, open-source task orchestration framework.

Installation

pip install hyrex

Running on your own infra:

Step 1: Database initialization

  • Set HYREX_DATABASE_URL to your Postgres database connection string
  • Run hyrex init-db

Step 2: Decorate your tasks

  • Instantiate a Hyrex object wherever your tasks are defined:
from hyrex import Hyrex

hy = Hyrex(app_id="my-hyrex-app")
  • Decorate your task:
def NameContext(BaseModel):
    name: str


@hy.task
def say_name(context: NameContext):
    print(context.name)
  • Send your task to the Hyrex queue. A worker will pick it up from there.
say_name.send(NameContext(name="Bob"))

Step 3: Run your worker(s)

  • Make sure HYREX_DATABASE_URL is set.
  • Update this command with the module path to your Hyrex instance:
hyrex run-worker my_app.tasks:hy

Logging

Hyrex uses Python's logging module for logging info about task queueing, worker status, etc. By default, no logs are displayed. To turn on logs, configure this in your application. For example:

import logging
logging.basicConfig(level=logging.INFO)

To configure Hyrex logs only:

logger = logging.getLogger("hyrex")
logger.setLevel(logging.INFO)

Handlers and formatting options from the logging module are also supported.

For worker processes, the logging level can be set using the log-level flag on the hyrex run-worker CLI command.

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

hyrex-0.9.0.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

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

hyrex-0.9.0-py3-none-any.whl (64.6 kB view details)

Uploaded Python 3

File details

Details for the file hyrex-0.9.0.tar.gz.

File metadata

  • Download URL: hyrex-0.9.0.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.9

File hashes

Hashes for hyrex-0.9.0.tar.gz
Algorithm Hash digest
SHA256 ed827a150a51b1f3a6709e34a4f32e3b59c59391dcd9476ec5da87d20b5a81f3
MD5 8ff16d400bfb555ea2f44e7841b402db
BLAKE2b-256 7f381c7c21de036c90b5a29c82e81dd8f60d570fd4492d3174a9e7f8a8870db8

See more details on using hashes here.

File details

Details for the file hyrex-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: hyrex-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.9

File hashes

Hashes for hyrex-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8f6e5fa1ac5e7ca1add7c089f5adef17133458093fd5d2fee270722d342b98b
MD5 d91931690ff98017c28c86ff937d1f4c
BLAKE2b-256 31a3cf765ad55dfabe9c66b3d3d8d9c45bc32a5b9a2c60946f775117a90c4ab4

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