Skip to main content

distributed task distribution framework

Project description

Fleet

Fleet is a generic distributed task distribution framework based on a distributed file system. Task distribution frameworks like Ray and Celery require network connections for communication, which makes them difficult to use in clusters with poor network conditions. Fleet is a distributed framework based on a shared file system, independent of any network communication, allowing for task distribution among nodes without any network connections.

Features

  • Distributed task distribution based on a shared file system
  • Supports dynamic scaling
  • Supports worker node heartbeat
  • Supports manager node restart
  • Supports set timeout for each task
  • Supports set max_job and max_work_time for worker
  • Pure Python implementation

Install

pip install open-fleet

Usage

See more examples in ./examples.

# run_manager.py
from fleet.manager import Manager
from fleet.config.config import get_args

base_dir = "./share_dir"

def main():
    job_list = [1,2,3,4]
    args = get_args(f"--base_dir {base_dir}")
    manager = Manager(args=args, job_list=job_list)
    manager.run()

if __name__ == '__main__':
    main()
# run_worker.py
from fleet.worker import Worker
from fleet.config.config import get_args

from run_manager import base_dir

def add_one(x, info):
    return {"status": "success", "result": x + 1}

def main():
    args = get_args(f"--base_dir {base_dir}")
    worker = Worker(args=args, job_func=add_one)
    worker.run()

if __name__ == '__main__':
    main()

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

open_fleet-0.0.7.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

open_fleet-0.0.7-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file open_fleet-0.0.7.tar.gz.

File metadata

  • Download URL: open_fleet-0.0.7.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.6

File hashes

Hashes for open_fleet-0.0.7.tar.gz
Algorithm Hash digest
SHA256 3c66ff6909c28bfa019eb16a1eda80553a7a49acfc9f47eaccacf26a9be65b6b
MD5 c4d5d428b86be0fb558c53ca705803c2
BLAKE2b-256 f50a0528fcd722c02b1977a7024eebc76847090670514ec28184114c38e9120c

See more details on using hashes here.

File details

Details for the file open_fleet-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: open_fleet-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.6

File hashes

Hashes for open_fleet-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 90598cfc90a38b1b306b11110fffec1f7e1b7f3b11473dfce2917fda68ddf002
MD5 8b709cbe042b670a9e611023b0307914
BLAKE2b-256 c89953b66b27e42cff9b1076a94108e978b31c431b3eb364bab7f8f5315f24ca

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