Fork your process like a boss
Project description
Fork your proccess like a boss
import forkme
import logging
import os
from time import sleep
logging.basicConfig(level=logging.DEBUG)
def main():
print("Master proccess has PID: {0}".format(os.getpid()))
forkme.fork(4)
print(
"Proceess #{id} has PID: {pid}".format(
id=forkme.get_id(),
pid=os.getpid()
)
)
sleep(1)
if __name__ == '__main__':
main()
This code makes 4 forks. When you try to run it you will see something like this
Master proccess has PID: 7437 INFO:forkme:Starting 4 processes Proceess #2 has PID: 7440 Proceess #1 has PID: 7439 Proceess #3 has PID: 7441 Proceess #0 has PID: 7438 INFO:forkme:Child with PID: 7439 Number: 1 exited normally INFO:forkme:Child with PID: 7441 Number: 3 exited normally INFO:forkme:Child with PID: 7440 Number: 2 exited normally INFO:forkme:Child with PID: 7438 Number: 0 exited normally
Forkme will be control forks. When subprocess will be killed or will exit with non-zero code it will be restarted immediately. e.g.:
Master proccess has PID: 7579 INFO:forkme:Starting 4 processes Proceess #0 has PID: 7580 Proceess #1 has PID: 7581 Proceess #2 has PID: 7582 Proceess #3 has PID: 7583 WARNING:forkme:Child with PID: 7580 Number: 0 killed by signal 9, restarting Proceess #0 has PID: 7584 INFO:forkme:Child with PID: 7581 Number: 1 exited normally INFO:forkme:Child with PID: 7582 Number: 2 exited normally INFO:forkme:Child with PID: 7583 Number: 3 exited normally INFO:forkme:Child with PID: 7584 Number: 0 exited normally
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
forkme-0.11.tar.gz
(2.8 kB
view details)
Built Distribution
forkme-0.11-py2-none-any.whl
(4.3 kB
view details)
File details
Details for the file forkme-0.11.tar.gz
.
File metadata
- Download URL: forkme-0.11.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f2347e14ed9d0ce42eeadc7a88cf0824eb22324202b6f5c6d213be3b02cc8f4 |
|
MD5 | 180f4864617adba4e65222fb957a9fcb |
|
BLAKE2b-256 | 133c9e2411442e003a722fcc2a80165b23e8d9c6bfeb6a99a82b8231768c857c |
File details
Details for the file forkme-0.11-py2-none-any.whl
.
File metadata
- Download URL: forkme-0.11-py2-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | feee997d6ec4f4e2b73a67b4f45e31c12e5f876e53ec548a1ac743c4457d582b |
|
MD5 | 43bbef66dadd2aea97631e59ae6aefb4 |
|
BLAKE2b-256 | a13971b43dfdc2d976709f8bfcb44a80bf4edf368dbb83acd6478c347947fd53 |