Skip to main content

A multiprocessing process manager for Python programs

Project description

processmanager

A multiprocessing process manager for Python programs

It provides:

  • Simple offloading of work to other processor cores
  • State management for the functions in those processes
    • It is easy to cancel in-progress work, which can be useful if a user clicks 'Cancel' in a GUI
  • Logging of exceptions while running offloaded functions
  • Streaming of results to main process from generator functions
    • This can help smooth out IPC load curve by avoiding an all-at-once result transfer

Original use case:

  • GUI program that calls back-end functions for work
  • GUI has a cancel button that should always work, so:
    • the GUI mainloop should not be blocked
    • the called functions should intermittently check if the user has pressed the cancel button
  • Want to avoid running new work when the user wants to cancel
  • Want to work with generators and multiprocessing
    • e.g. send results constantly to main process instead of all at once

Installation:

  • pip install processmanager

Documentation:

Tested for Python >=3.6.5 on Linux (Ubuntu) and Windows 7/10

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

processmanager-0.1.1.tar.gz (31.4 kB view hashes)

Uploaded Source

Built Distribution

processmanager-0.1.1-py3-none-any.whl (44.5 kB view hashes)

Uploaded Python 3

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