Skip to main content

Python Process or Thread Manager

Project description

Python Process Manager (processpy)

processpy is simple process manager for python. If you want to run multiple process for the same function, this tool is for you.

  • You can run multiple process of the same function concurrently.
  • You can choose to kill previous running process before running a new process of the same function.
  • You can choose to ignore new process of the same function if it's already running.

Installation

pip install processpy

Example (No concurrency and no previous kill)

from processpy import ProcessManager
import time

def sum(a, b):
    time.sleep(30)
    print(a+b)

sum_process = ProcessManager(sum, kill_previous=False, concurrent_running=False)
sum_process.run({'a': 10, 'b': 20})
time.sleep(5)

"""
The following will not run. Because concurrent run is false and kill previous is also false. So, it will simply return with doing nothing and let the previous run.
"""
sum_process.run({'a': 10, 'b': 20}) 

Example (No concurrency but with previous kill)

from processpy import ProcessManager
import time

def sum(a, b):
    time.sleep(30)
    print(a+b)

sum_process = ProcessManager(sum, kill_previous=True, concurrent_running=False)
sum_process.run({'a': 10, 'b': 20})
time.sleep(5)

"""
The following will kill the previous unfinished process and run. Because concurrent run is false and kill previous is True. So, it will simply kill the previous unfinished process. If previous one is already finished, nothing to kill. 
"""
sum_process.run({'a': 10, 'b': 20}) 

Example (with concurrency)

from processpy import ProcessManager
import time

def sum(a, b):
    time.sleep(30)
    print(a+b)

sum_process = ProcessManager(sum, concurrent_running=True)
sum_process.run({'a': 10, 'b': 20})
time.sleep(5)

"""
The following will run alongside of the previous process. 
"""
sum_process.run({'a': 10, 'b': 20}) 

You can also kill the running process (if concurrent_running=False )

sub_process.kill()

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

processpy-0.1.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

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

processpy-0.1.0-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file processpy-0.1.0.tar.gz.

File metadata

  • Download URL: processpy-0.1.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.8.13 Windows/10

File hashes

Hashes for processpy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 340854b54281783da85b97ecc0c3f864e3a29ce827116c5495cae4df21003d34
MD5 42c250fe0dcce3e19e91994da3b6cf20
BLAKE2b-256 279c48a46116f72ba1e96a9959d06d45a97dc1aadb1dec2b290cd314dd542399

See more details on using hashes here.

File details

Details for the file processpy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: processpy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.8.13 Windows/10

File hashes

Hashes for processpy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 097d0aaf85bca7e4feb69e98cfc25867dff8ee32c801c0c2c3ce7d001fd09492
MD5 74cfa646bd55b4cd2514f2bbc6b6e2f1
BLAKE2b-256 0cd96bbf5958f32cc86b60037c56af1360d3672081a8a99f2082c766d12918e6

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