{ "info": { "author": "Andrew Fullford", "author_email": "pypi102014@fullford.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: No Input/Output (Daemon)", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: System :: Distributed Computing", "Topic :: System :: Software Distribution", "Topic :: System :: Systems Administration", "Topic :: Utilities" ], "description": "This supports python 2.7 and python 3 on Unix derivatives. It has specific\nsupport for select.kqueue on MacOS and \\*BSD and the inotifyx bindings for\nLinux inotify. If neither of these facilities is available, `taskforce`\noperates in polling mode which adds some latency and processing overhead but\nis functionally the same.\n\nCommands to be run are defined in a configuration file in YAML format. Let's go\nstraight to a quick example::\n\n {\n \"tasks\": {\n \"sshd\": {\n \"control\": \"wait\",\n \"commands\": { \"start\": [ \"/usr/sbin/sshd\", \"-D\" ] }\n },\n \"ntpd\": {\n \"control\": \"wait\",\n \"requires\": \"sshd\",\n \"defines\": { \"conf\": \"/etc/ntp.conf\" },\n \"commands\": { \"start\": [ \"/usr/sbin/ntpd\", \"-c\", \"{conf}\", \"-n\"] },\n \"events\": [\n { \"type\": \"self\", \"command\": \"stop\" },\n { \"type\": \"file_change\", \"path\": \"{conf}\", \"command\": \"stop\" }\n ]\n }\n }\n }\n\nIn this example, `taskforce` starts `sshd` and then starts `ntpd`. `taskforce`\nis set to wait on both programs and both programs are started so that they will\nnot detach themselves. If either program exits, it will be restarted.\n\n`ntpd` is run with a couple of extra features. First, it defines a tag for the\nconfiguration file name. This is convenient for when the element is used in\nmultiple places. It also adds two events. The first fires if the executable\nfile changes, and the second fires if the configuration file changes. The event\ntype ``self`` is shorthand for the equivalent ``file_change`` event. In both cases,\nthe event will cause the task to be stopped. As the task has the ``wait``\ncontrol, it will be immediately restarted.\n\nVisit ``_ for more information.\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/akfullfo/taskforce/tarball/0.5.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/akfullfo/taskforce", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "taskforce", "package_url": "https://pypi.org/project/taskforce/", "platform": "Linux", "project_url": "https://pypi.org/project/taskforce/", "project_urls": { "Download": "https://github.com/akfullfo/taskforce/tarball/0.5.0", "Homepage": "https://github.com/akfullfo/taskforce" }, "release_url": "https://pypi.org/project/taskforce/0.5.0/", "requires_dist": null, "requires_python": "", "summary": "Taskforce starts and restarts daemon processes. It will detect executable and/or module changes and automatically restart the affected processes.", "version": "0.5.0" }, "last_serial": 3331996, "releases": { "0.1.12": [ { "comment_text": "", "digests": { "md5": "573805cde10e6b17b70450b1999bff46", "sha256": "73a486cc1ec15f705aede43559a6d91b52a1ef3b6663dbbb94e6830fddbf87a7" }, "downloads": -1, "filename": "taskforce-0.1.12.tar.gz", "has_sig": false, "md5_digest": "573805cde10e6b17b70450b1999bff46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42484, "upload_time": "2014-11-21T01:19:56", "url": "https://files.pythonhosted.org/packages/d7/c5/7d4ccbba9eeee4dac83d94f0187469f82aa878536cf2f541552c946fcba5/taskforce-0.1.12.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "4256710af744878834378c538db672a2", "sha256": "24265c1495fe1375997e32355827032097aee57758a269fd1ed9bc13010baf83" }, "downloads": -1, "filename": "taskforce-0.1.14.tar.gz", "has_sig": false, "md5_digest": "4256710af744878834378c538db672a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44325, "upload_time": "2014-11-29T20:05:42", "url": "https://files.pythonhosted.org/packages/99/ee/f3a42147c05cffdab2dc392d181cd3f3ac1a6d10b005750123abb47613ee/taskforce-0.1.14.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "0c2753f00e9d257d2cc185b83a564509", "sha256": "0b374bfeaa90763cbb4b5e08cbdcbd5e1263501b1e45a49d25c508fa9d5bc366" }, "downloads": -1, "filename": "taskforce-0.1.17.tar.gz", "has_sig": false, "md5_digest": "0c2753f00e9d257d2cc185b83a564509", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44294, "upload_time": "2014-11-30T15:58:38", "url": "https://files.pythonhosted.org/packages/df/3c/10e3e6ba70fffa9f4ee0a02c3a1f7e8e616d4b32c7309f64ff411a14186b/taskforce-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "51e181869c36f958f61bfea77190ec16", "sha256": "028bc9ab517ee6d9e60cd582d11e36ffff507a4efa1d6a931277c0ddedeb5531" }, "downloads": -1, "filename": "taskforce-0.1.18.tar.gz", "has_sig": false, "md5_digest": "51e181869c36f958f61bfea77190ec16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44485, "upload_time": "2014-11-30T17:21:13", "url": "https://files.pythonhosted.org/packages/65/6e/17cef4f7e3f457fcbd43e4d7467e046c0553595ca3ed8a644fdb539af9b6/taskforce-0.1.18.tar.gz" } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "44ecf292e2664e6ed92a22fb6584a390", "sha256": "c8697d9bebcb1da5c1261bc876103540641f9475e151ba07fba3b9cda8d7b463" }, "downloads": -1, "filename": "taskforce-0.1.19.tar.gz", "has_sig": false, "md5_digest": "44ecf292e2664e6ed92a22fb6584a390", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44327, "upload_time": "2014-11-30T17:43:45", "url": "https://files.pythonhosted.org/packages/50/c7/e1e8c62eb88973ca421e4caac3e4a64a9e97c09f9bb401b7cd21428e66ec/taskforce-0.1.19.tar.gz" } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "7c08edec5f506e21576e16a86bdc52bd", "sha256": "d92e9d3640768391b9089b1cd158bc8783f1036e46d469036895c5c0e8436cb8" }, "downloads": -1, "filename": "taskforce-0.1.20.tar.gz", "has_sig": false, "md5_digest": "7c08edec5f506e21576e16a86bdc52bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44392, "upload_time": "2014-11-30T21:44:34", "url": "https://files.pythonhosted.org/packages/95/e6/d9c8326a88b71629678880a56eb599d04172ff3fc05034d78004c4916983/taskforce-0.1.20.tar.gz" } ], "0.1.21": [ { "comment_text": "", "digests": { "md5": "b1d64a921641d8d577a13ed43d8ea8d8", "sha256": "1c4f51083ad93108b7f1a8590525ea58b92aaa87b7545c6ca9bcb4ae4527c6c2" }, "downloads": -1, "filename": "taskforce-0.1.21.tar.gz", "has_sig": false, "md5_digest": "b1d64a921641d8d577a13ed43d8ea8d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46920, "upload_time": "2014-12-13T22:28:59", "url": "https://files.pythonhosted.org/packages/87/98/e629c5bd86a26cb770fc828bb5f2c123f9ab8c678758cc56e01e82266e91/taskforce-0.1.21.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9471299e0fc73c580de2b5c06cd39e5c", "sha256": "74cfda18e3debd8051d354c89b71ae67e987282dccfc7b3140b168962d96eec0" }, "downloads": -1, "filename": "taskforce-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9471299e0fc73c580de2b5c06cd39e5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45529, "upload_time": "2015-01-09T16:41:01", "url": "https://files.pythonhosted.org/packages/2b/7b/6c21203b11f9ba950543178a59766fd264337b9035931ccd1742dbfc4591/taskforce-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "49dc74c8bab62193e71f4a6a0c55966e", "sha256": "0830c2433aae950822ce85a5922527b498a7df635c928ed14137624970c7ff0e" }, "downloads": -1, "filename": "taskforce-0.2.1.tar.gz", "has_sig": false, "md5_digest": "49dc74c8bab62193e71f4a6a0c55966e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45924, "upload_time": "2015-01-15T19:30:28", "url": "https://files.pythonhosted.org/packages/19/22/603f28c2a08700bf34707e0e1f6bba7cf4031a9ab24f26fc7994d3c70f09/taskforce-0.2.1.tar.gz" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "d36ec2ed0490f04d581b6d1ec04a902a", "sha256": "566cfca578c6187a4eec6cff7f4ae3bfdb4e01b665e08f98a8b43c9bf86b2248" }, "downloads": -1, "filename": "taskforce-0.3.10.tar.gz", "has_sig": false, "md5_digest": "d36ec2ed0490f04d581b6d1ec04a902a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59568, "upload_time": "2015-04-11T18:26:59", "url": "https://files.pythonhosted.org/packages/44/30/21e2936270dffd9dd999220cda19227675c79a06befc8b4e2aa856f8c895/taskforce-0.3.10.tar.gz" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "c50186394ae7b3bea408a862f7acd28c", "sha256": "0d30000a4d632fd3d055d1503fcf39e97e1a936f2ef0d9095dec542bf732bd55" }, "downloads": -1, "filename": "taskforce-0.3.11.tar.gz", "has_sig": false, "md5_digest": "c50186394ae7b3bea408a862f7acd28c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59568, "upload_time": "2015-04-11T19:03:00", "url": "https://files.pythonhosted.org/packages/1c/99/cc2daedce59ab6870029efd8b08d9e0d6ce89d8be26c1231be0f55755b46/taskforce-0.3.11.tar.gz" } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "e9b9ab8e21691f24cc9bfaff31ee0aae", "sha256": "3978762c9295a09cf9fa4e8fadf203cb33b8dc928f049630a0413ebbfce4fc2e" }, "downloads": -1, "filename": "taskforce-0.3.12.tar.gz", "has_sig": false, "md5_digest": "e9b9ab8e21691f24cc9bfaff31ee0aae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60453, "upload_time": "2015-05-10T19:15:54", "url": "https://files.pythonhosted.org/packages/2d/77/8aea04fd460d074041ce96777064f423eada4e2fbbf0d3399ae0b61f927a/taskforce-0.3.12.tar.gz" } ], "0.3.13": [ { "comment_text": "", "digests": { "md5": "de6268370298ab88fc4b951fd7065c43", "sha256": "b11763bcfaaf562e6cc49ea77307e6c7611675da85b6d78bd0c94687e14412bd" }, "downloads": -1, "filename": "taskforce-0.3.13.tar.gz", "has_sig": false, "md5_digest": "de6268370298ab88fc4b951fd7065c43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60034, "upload_time": "2015-09-05T16:42:42", "url": "https://files.pythonhosted.org/packages/97/c2/8e3d2506dab5ed66615c43ea8f5652a19bdae0a7164fc5ea4820678b4bf9/taskforce-0.3.13.tar.gz" } ], "0.3.14": [ { "comment_text": "", "digests": { "md5": "a2e2090fadf797f5c126ce6cc513bcd8", "sha256": "4ea14b96772562f821188354cede3e157ae94da88b6015b46e45722b7f27f626" }, "downloads": -1, "filename": "taskforce-0.3.14.tar.gz", "has_sig": false, "md5_digest": "a2e2090fadf797f5c126ce6cc513bcd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60117, "upload_time": "2015-09-20T19:20:51", "url": "https://files.pythonhosted.org/packages/47/fe/41a72591dd7028fdd874684f04589bccbb1b9da9480f537a868e18ff38c1/taskforce-0.3.14.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f558dda22b6cbc3d15b263e733b33b0a", "sha256": "539a8a0840d96b6afbeb8374bd763acb0063616b6abffd3de9514f94e5a9907a" }, "downloads": -1, "filename": "taskforce-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f558dda22b6cbc3d15b263e733b33b0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56876, "upload_time": "2015-01-31T22:15:16", "url": "https://files.pythonhosted.org/packages/5a/75/2cd6f0f52542a68b6dffa1a3aafed382df25ed9ee3ac1768e4579e070bd3/taskforce-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "5cba843a92dfb7dfcd60982967b1784e", "sha256": "e96b9fd0abc72f37ab85fa14a622184a1d6b41cb95f364000976e30072a7ccdc" }, "downloads": -1, "filename": "taskforce-0.3.3.tar.gz", "has_sig": false, "md5_digest": "5cba843a92dfb7dfcd60982967b1784e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57837, "upload_time": "2015-02-02T00:40:24", "url": "https://files.pythonhosted.org/packages/b2/ce/097261054b270201ba6ecb41b91083b4303e0ad1d7f1a7c7581b8bd9d1c8/taskforce-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "34dcae7c4456641d3414cd9b27e68e78", "sha256": "034561c28f8b1434d53b19a60193aee678c9f52029ee63c800ad62337e172769" }, "downloads": -1, "filename": "taskforce-0.3.4.tar.gz", "has_sig": false, "md5_digest": "34dcae7c4456641d3414cd9b27e68e78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57837, "upload_time": "2015-02-05T03:38:32", "url": "https://files.pythonhosted.org/packages/38/df/f125fe4ff183bc519b2da5d1716d9ef3adbc35ab9fa260d685a70b434ac4/taskforce-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "eaf0b0f708ce0a58c68e5d8808092973", "sha256": "4b0bdf71a24d6fa9b4210dfe968fbbf810e8e3b70bbf503d853fd73ab8e8677b" }, "downloads": -1, "filename": "taskforce-0.3.5.tar.gz", "has_sig": false, "md5_digest": "eaf0b0f708ce0a58c68e5d8808092973", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57954, "upload_time": "2015-03-16T00:43:49", "url": "https://files.pythonhosted.org/packages/ed/fd/e4a67e658fc59ebbfc93850bfad7a5ab60e559f893e08df194d916bcaa3e/taskforce-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "8bc7c9a40c60e58f8f0b1d14168d1de7", "sha256": "ed1fa2046b19def2abb0769a132918b7a0b8c680d1369cb3f3814d2f12a45e79" }, "downloads": -1, "filename": "taskforce-0.3.6.tar.gz", "has_sig": false, "md5_digest": "8bc7c9a40c60e58f8f0b1d14168d1de7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58731, "upload_time": "2015-04-02T18:38:01", "url": "https://files.pythonhosted.org/packages/f7/af/915a9beed34bd30fe9fdf48742d444da193d133fbea61a42e586c8f432e8/taskforce-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "b8b6415c77924476d052fbe38a80a8ff", "sha256": "d275f3fc04dbc56aed6522c0273f636f7a5c82659cd0169b707d7e5e0f1bfff5" }, "downloads": -1, "filename": "taskforce-0.3.7.tar.gz", "has_sig": false, "md5_digest": "b8b6415c77924476d052fbe38a80a8ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58846, "upload_time": "2015-04-02T19:40:11", "url": "https://files.pythonhosted.org/packages/2d/9b/9fd0db4e20e1619f3370fa874bf640188685bc331d0de754e3f915a2039a/taskforce-0.3.7.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "ac2d34984fbf331dffbabb6419208afc", "sha256": "eef191899b4d902d80a10c837a234cbef5c144ed7df4e4912938a6176f27eb96" }, "downloads": -1, "filename": "taskforce-0.3.9.tar.gz", "has_sig": false, "md5_digest": "ac2d34984fbf331dffbabb6419208afc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58858, "upload_time": "2015-04-03T17:52:05", "url": "https://files.pythonhosted.org/packages/95/74/222c0bf9ea23417b5c8c065d6da0eb9cc76977a8814f4281a42ffc14324e/taskforce-0.3.9.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "d1a4c60b0ee49b2563015ea4a0322fb1", "sha256": "dda1e49b0ce92a77eee53c3703b7ad149ad78057a8ac719b9e4bb6df3fe4d6b9" }, "downloads": -1, "filename": "taskforce-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d1a4c60b0ee49b2563015ea4a0322fb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59739, "upload_time": "2017-01-29T16:16:51", "url": "https://files.pythonhosted.org/packages/7d/0f/426edb83e747534809cbe1e777f15647714dbee0d782cae92771e0cc040b/taskforce-0.4.0.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "46268c59cccdc42089577f9ffa4ec821", "sha256": "e6a804a5b978aa64fbd66373099edf7d293dd70e43c8ccfa19c1b81d74d5a422" }, "downloads": -1, "filename": "taskforce-0.4.2.tar.gz", "has_sig": false, "md5_digest": "46268c59cccdc42089577f9ffa4ec821", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59553, "upload_time": "2017-11-13T19:48:43", "url": "https://files.pythonhosted.org/packages/5a/de/ac776aee46192f4a8b6f39a80fe4532fb1726a100d13ffcb853b3356d344/taskforce-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "ba2221f835b448a58fbc23cb0de6cdbd", "sha256": "23c93699cf1a1fcdfedd783a120d66cc7723f5ddd33dfdcb01b919a01cc97209" }, "downloads": -1, "filename": "taskforce-0.5.0.tar.gz", "has_sig": false, "md5_digest": "ba2221f835b448a58fbc23cb0de6cdbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61960, "upload_time": "2017-11-14T15:12:48", "url": "https://files.pythonhosted.org/packages/b8/7e/87a157b158e17d43abb90189a9e1cf3e150cea36cf27439eae9e31752b52/taskforce-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ba2221f835b448a58fbc23cb0de6cdbd", "sha256": "23c93699cf1a1fcdfedd783a120d66cc7723f5ddd33dfdcb01b919a01cc97209" }, "downloads": -1, "filename": "taskforce-0.5.0.tar.gz", "has_sig": false, "md5_digest": "ba2221f835b448a58fbc23cb0de6cdbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61960, "upload_time": "2017-11-14T15:12:48", "url": "https://files.pythonhosted.org/packages/b8/7e/87a157b158e17d43abb90189a9e1cf3e150cea36cf27439eae9e31752b52/taskforce-0.5.0.tar.gz" } ] }