Skip to main content

The job processing engine that powers ananke

Project description

moirai-engine

PyPI - Version PyPI - Python Version


Table of Contents

NOTE: This doc is still in progress. for now it was generated by AI (sorry).

Installation

pip install moirai-engine

Usage

Basic Example

Here is a basic example of how to use the moirai-engine library to create and run a simple job:

import time
from moirai_engine.core.engine import Engine
from moirai_engine.utils.samples import hello_world

# Create and start the engine
engine = Engine()
engine.start()

# Create a job using the hello_world sample
job = hello_world()

# Add the job to the engine
engine.add_job(job)

# Let the engine run for a while
time.sleep(5)

# Stop the engine
engine.stop()

Advanced Example

Here is an advanced example that includes real-time notifications and job cancellation:

import asyncio
from moirai_engine.core.engine import Engine
from moirai_engine.utils.samples import hello_world


# Create an async function
async def notification_listener(notification):
    print(f"Received notification: {notification}")


async def main():
    engine = Engine(max_workers=4, listener=notification_listener)
    await engine.start()

    # Add jobs to the engine
    await engine.add_job(hello_world(), notification_listener)

    # Let the engine run for a while
    await asyncio.sleep(2)

    await engine.stop()


if __name__ == "__main__":
    asyncio.run(main())

About

moirai-engine is the engine that powers Ananke, but it was planned to be used as a processing engine. This project is still in progress, and features like task registry and autodiscover are still in development.

License

MIT License

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

moirai_engine-0.0.22.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

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

moirai_engine-0.0.22-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file moirai_engine-0.0.22.tar.gz.

File metadata

  • Download URL: moirai_engine-0.0.22.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.2

File hashes

Hashes for moirai_engine-0.0.22.tar.gz
Algorithm Hash digest
SHA256 e9e1065060310007d4f20c5795ed052def5a7f8b358e52b9fca9e8151f71d7b8
MD5 91260c68a654879f9dd97c03336c9eaa
BLAKE2b-256 2e8a53ec5e8863f74d13833e413ea6b25795c1f763dcb24368f514578d01dfc1

See more details on using hashes here.

File details

Details for the file moirai_engine-0.0.22-py3-none-any.whl.

File metadata

  • Download URL: moirai_engine-0.0.22-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.2

File hashes

Hashes for moirai_engine-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 bf84fadd3b0d16a9de4496b4d3b7a778d34455017ac1304a6c0aba807fca053e
MD5 f9cd84ddaf277052976e90fb9afe300c
BLAKE2b-256 48452973a3351584c7a3fefb362baa55b5f52ca653b78f894d962f2a1da6308e

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