{ "info": { "author": "Dmitry Orlov", "author_email": "me@mosquito.su", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only" ], "description": "ForkMe\n======\n\nFork your proccess like a boss\n\n.. code-block:: python\n\n import forkme\n import logging\n import os\n from time import sleep\n\n\n logging.basicConfig(level=logging.DEBUG)\n\n\n def main():\n print(\"Master proccess has PID: {0}\".format(os.getpid()))\n forkme.fork(4)\n print(\n \"Proceess #{id} has PID: {pid}\".format(\n id=forkme.get_id(),\n pid=os.getpid()\n )\n )\n sleep(1)\n\n\n if __name__ == '__main__':\n main()\n\n\nThis code makes 4 forks. When you try to run it you will see something like this ::\n\n Master proccess has PID: 7437\n INFO:forkme:Starting 4 processes\n Proceess #2 has PID: 7440\n Proceess #1 has PID: 7439\n Proceess #3 has PID: 7441\n Proceess #0 has PID: 7438\n INFO:forkme:Child with PID: 7439 Number: 1 exited normally\n INFO:forkme:Child with PID: 7441 Number: 3 exited normally\n INFO:forkme:Child with PID: 7440 Number: 2 exited normally\n INFO:forkme:Child with PID: 7438 Number: 0 exited normally\n\n\nForkme will be control forks. When subprocess will be killed or will exit with \nnon-zero code it will be restarted immediately. e.g.::\n\n Master proccess has PID: 7579\n INFO:forkme:Starting 4 processes\n Proceess #0 has PID: 7580\n Proceess #1 has PID: 7581\n Proceess #2 has PID: 7582\n Proceess #3 has PID: 7583\n WARNING:forkme:Child with PID: 7580 Number: 0 killed by signal 9, restarting\n Proceess #0 has PID: 7584\n INFO:forkme:Child with PID: 7581 Number: 1 exited normally\n INFO:forkme:Child with PID: 7582 Number: 2 exited normally\n INFO:forkme:Child with PID: 7583 Number: 3 exited normally\n INFO:forkme:Child with PID: 7584 Number: 0 exited normally\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "Apache 2", "maintainer": "", "maintainer_email": "", "name": "forkme", "package_url": "https://pypi.org/project/forkme/", "platform": "all", "project_url": "https://pypi.org/project/forkme/", "project_urls": null, "release_url": "https://pypi.org/project/forkme/0.11/", "requires_dist": null, "requires_python": "", "summary": "Fork your process like a boss", "version": "0.11" }, "last_serial": 4050298, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "1e25be60b3dbea3fd87a34670fee17b7", "sha256": "08f452e1b643f1678ed168dbe08c5b05c1afb0d74ff5d8f96d3c814ca3736fa6" }, "downloads": -1, "filename": "forkme-0.10.tar.gz", "has_sig": false, "md5_digest": "1e25be60b3dbea3fd87a34670fee17b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2827, "upload_time": "2018-01-16T12:37:23", "url": "https://files.pythonhosted.org/packages/b3/c7/339eb1c4a3cb62955ef28da5a5322a0e64a6998146e4ab1c73ca23c25de8/forkme-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "43bbef66dadd2aea97631e59ae6aefb4", "sha256": "feee997d6ec4f4e2b73a67b4f45e31c12e5f876e53ec548a1ac743c4457d582b" }, "downloads": -1, "filename": "forkme-0.11-py2-none-any.whl", "has_sig": false, "md5_digest": "43bbef66dadd2aea97631e59ae6aefb4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4266, "upload_time": "2018-07-11T10:15:19", "url": "https://files.pythonhosted.org/packages/a1/39/71b43dfdc2d976709f8bfcb44a80bf4edf368dbb83acd6478c347947fd53/forkme-0.11-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "180f4864617adba4e65222fb957a9fcb", "sha256": "2f2347e14ed9d0ce42eeadc7a88cf0824eb22324202b6f5c6d213be3b02cc8f4" }, "downloads": -1, "filename": "forkme-0.11.tar.gz", "has_sig": false, "md5_digest": "180f4864617adba4e65222fb957a9fcb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2825, "upload_time": "2018-07-11T10:15:16", "url": "https://files.pythonhosted.org/packages/13/3c/9e2411442e003a722fcc2a80165b23e8d9c6bfeb6a99a82b8231768c857c/forkme-0.11.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "a60e9d58e4d42ff439acaefbd5cd9904", "sha256": "92ccce5cbfe502f15e0f97c210b6ef7b8c5438b3d46d75faf2b1cb1f70832505" }, "downloads": -1, "filename": "forkme-0.4.tar.gz", "has_sig": false, "md5_digest": "a60e9d58e4d42ff439acaefbd5cd9904", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2185, "upload_time": "2016-08-08T17:46:56", "url": "https://files.pythonhosted.org/packages/76/6d/8207c320e99e5addb806b1f977726a44554a35be77311d783950c381c356/forkme-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "7b3e86aa6de9f1a04b8ef21ff89651f9", "sha256": "084c1516836c6d5cc7af32df70b0bffd1cc7497048498b51671ea9b49fc2204f" }, "downloads": -1, "filename": "forkme-0.5.tar.gz", "has_sig": false, "md5_digest": "7b3e86aa6de9f1a04b8ef21ff89651f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2434, "upload_time": "2016-11-18T13:24:12", "url": "https://files.pythonhosted.org/packages/7f/cc/acf7b792c9eb689a085001b537592c3d7763ae86c9f399c308f7595f2c3d/forkme-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "ea2b16927def53c7a6fcf44a28afdc2a", "sha256": "a3c4eedd940ba0c7075d59f09acabc40c1fe2bba1815e3d5ec84d8ca25e80c10" }, "downloads": -1, "filename": "forkme-0.6.tar.gz", "has_sig": false, "md5_digest": "ea2b16927def53c7a6fcf44a28afdc2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2898, "upload_time": "2017-01-01T15:11:28", "url": "https://files.pythonhosted.org/packages/19/fa/9911cb7ad8a6835e9ace6b5183a7c0661b889e0306539307086d0b809d85/forkme-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "813e5986e89ec7a3b02184748e116a60", "sha256": "2a9b665f2b52e6b93ec5d498ad72ff60c9828de742b650708cb47dc4abe9d07b" }, "downloads": -1, "filename": "forkme-0.7.tar.gz", "has_sig": false, "md5_digest": "813e5986e89ec7a3b02184748e116a60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2892, "upload_time": "2017-02-13T14:55:16", "url": "https://files.pythonhosted.org/packages/df/49/e959c6207e7b528e277caf5909f321068b4c8fc38489c33a5b9a45b38628/forkme-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "c0ddc7ca5a6cd929001dcdc59a25dfbb", "sha256": "0a42e453be9b47134070d978c96c243165564f6fcd9e11278fae2dab22e79ebe" }, "downloads": -1, "filename": "forkme-0.8-py2-none-any.whl", "has_sig": false, "md5_digest": "c0ddc7ca5a6cd929001dcdc59a25dfbb", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4311, "upload_time": "2017-06-30T11:17:24", "url": "https://files.pythonhosted.org/packages/2c/61/d50afb88b347712ab1ae1da455751434f2a676d9e6eb75a8bdc76f6f8760/forkme-0.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3f84fb12bef7133d1ead75b17c93260", "sha256": "fd81f1e9584ba688b17ef86ad9eccc8a8069c0bb85d3baacfb4a430c4c3aac50" }, "downloads": -1, "filename": "forkme-0.8.tar.gz", "has_sig": false, "md5_digest": "a3f84fb12bef7133d1ead75b17c93260", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2889, "upload_time": "2017-06-30T11:17:22", "url": "https://files.pythonhosted.org/packages/3d/58/df07bdf1c2591e4807f5aa8f0fd88333bddb535bc519b5cd24b66dba916c/forkme-0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "43bbef66dadd2aea97631e59ae6aefb4", "sha256": "feee997d6ec4f4e2b73a67b4f45e31c12e5f876e53ec548a1ac743c4457d582b" }, "downloads": -1, "filename": "forkme-0.11-py2-none-any.whl", "has_sig": false, "md5_digest": "43bbef66dadd2aea97631e59ae6aefb4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4266, "upload_time": "2018-07-11T10:15:19", "url": "https://files.pythonhosted.org/packages/a1/39/71b43dfdc2d976709f8bfcb44a80bf4edf368dbb83acd6478c347947fd53/forkme-0.11-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "180f4864617adba4e65222fb957a9fcb", "sha256": "2f2347e14ed9d0ce42eeadc7a88cf0824eb22324202b6f5c6d213be3b02cc8f4" }, "downloads": -1, "filename": "forkme-0.11.tar.gz", "has_sig": false, "md5_digest": "180f4864617adba4e65222fb957a9fcb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2825, "upload_time": "2018-07-11T10:15:16", "url": "https://files.pythonhosted.org/packages/13/3c/9e2411442e003a722fcc2a80165b23e8d9c6bfeb6a99a82b8231768c857c/forkme-0.11.tar.gz" } ] }