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.21.tar.gz (7.4 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.21-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: moirai_engine-0.0.21.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for moirai_engine-0.0.21.tar.gz
Algorithm Hash digest
SHA256 c3ca9346ac4f70b2cf15d1bb2f85d94dc3628739da2e1ade4c20748d11b375b2
MD5 326a79fa77d282fdc301e99576870683
BLAKE2b-256 7616304ba1bc785c20cb46331a56246ee740758b41b7a4582d56cca3e2d5b340

See more details on using hashes here.

File details

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

File metadata

  • Download URL: moirai_engine-0.0.21-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for moirai_engine-0.0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 8544d09c50e8d38fbbbfec5fcad2760465141a7e354520cd3c998de1da21f546
MD5 78766495bd87c01636859b794ad4f040
BLAKE2b-256 67fb7b1538f957d47a0374cbc882e29b416b06ff5676566a5ae68a7856e25558

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