{ "info": { "author": "Peter Ruibal", "author_email": "ruibalp@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: ISC License (ISCL)", "Topic :: Software Development :: Libraries" ], "description": "Python supervise\n----------------\nThis module provide a methods to handle runit_ or daemontools_ based\nsupervised services, using the control file provided. Here is a small\nexample::\n\n >>> import supervise\n >>> s = supervise.Service('test')\n >>> print s.status()\n {'action': None, 'status': 0, 'uptime': 300L, 'pid': None}\n >>> s.start()\n >>> print s.status()\n {'action': None, 'status': 1, 'uptime': 3L, 'pid': 27450}\n\nRead the manpage of runsv(8) for more information. Also read the\ndocumentation for `ServiceStatus` to known how to parse status\ninformation.\n\nHistory\n=======\n\nLast month I needed to install runit in some servers to supervise a couple\nof services. Unfortunately my management interface cannot handle the\nservices anymore, so I decided to write a small module in python to solve\nthis handicap, and that is the result!.\n\nWith this module you can handle in python environment a number of runit\nscripts. I think that this might be work for daemontools too, but I do not\ntest yet. Let's see an example::\n\n >>> import supervise\n >>> c = supervise.Service(\"/var/service/httpd\")\n >>> print s.status()\n {'action': 'normal', 'status': 'up', 'uptime': 300L, 'pid': None}\n >>> if s.status()['status'] == supervise.STATUS_DOWN: print \"service down\"\n service down\n >>> s.start()\n >>> if s.status()['status'] == supervise.STATUS_UP: print \"service up\"\n service up\n\n\nPersonally I use this module with rpyc library to manage remotely the\nservices running in a host, but it too easy making a web interface, for\nexample using bottle::\n\n import supervise\n import simplejson\n from bottle import route, run\n\n @route('/service/status/:name')\n def service_status(name):\n return simplejson.dumps( supervise.Service(\"/var/service/\" +\n name).status() )\n\n @route('/service/up/:name')\n def service_up(name):\n c = supervise.Service(\"/var/service/\" + name)\n c.start()\n return \"OK UP\"\n\n\n @route('/service/down/:name')\n def service_down(name):\n c = supervise.Service(\"/var/service/\" + name)\n c.down()\n return \"OK DOWN\"\n\n\n if __name__ == \"__main__\":\n run()\n\n\nNow you can stop your service just only point your browser\nhttp://localhost/service/down/httpd (to down http service in this case).\n\nEnjoy!\n\n.. _runit: http://smarden.org/runit/\n.. _daemontools: http://cr.yp.to/daemontools.html\n\n:author: Andres J. Diaz \n:date: 2009-11-21\n:maintainer: Peter Ruibal ", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/fmoo/python-supervise/archive/1.1.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/fmoo/python-supervise", "keywords": "supervise runit daemontools", "license": "ISC", "maintainer": null, "maintainer_email": null, "name": "supervise", "package_url": "https://pypi.org/project/supervise/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/supervise/", "project_urls": { "Download": "https://github.com/fmoo/python-supervise/archive/1.1.1.tar.gz", "Homepage": "http://github.com/fmoo/python-supervise" }, "release_url": "https://pypi.org/project/supervise/1.1.1/", "requires_dist": null, "requires_python": null, "summary": "Tools for communicating with runit / daemontools supervisors.", "version": "1.1.1" }, "last_serial": 1087541, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "fc853616715962c82c1e903851135392", "sha256": "50d5136855a07b9f02e8e0e28ce64a4eddc601e2dac0db97ad06684825c0e044" }, "downloads": -1, "filename": "supervise-1.0-py2.7.egg", "has_sig": false, "md5_digest": "fc853616715962c82c1e903851135392", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 2074, "upload_time": "2013-01-25T21:54:37", "url": "https://files.pythonhosted.org/packages/8f/b5/96c325ab55ef5f00c6160a85b938a0c69186c2905502ca9771514f701cbc/supervise-1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "76bc5565a346e81070e19366a48e25f3", "sha256": "a7dafd5877ae4255ade19a965b1b94eeab1aa3853b1e207f570b40daafc164c4" }, "downloads": -1, "filename": "supervise-1.0.tar.gz", "has_sig": false, "md5_digest": "76bc5565a346e81070e19366a48e25f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2540, "upload_time": "2013-01-25T21:54:32", "url": "https://files.pythonhosted.org/packages/dd/79/8c49b55a5f30647f430772a10c137a39a5b2c75f14b2131ea38d8d709b21/supervise-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3488b550f99f7641e0788181e3948933", "sha256": "59785a12b05cfd2c0e1e6f32064464476312c893a123e373ea73eb0287acd53d" }, "downloads": -1, "filename": "supervise-1.0.1-py2.7.egg", "has_sig": false, "md5_digest": "3488b550f99f7641e0788181e3948933", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10744, "upload_time": "2013-01-28T07:51:01", "url": "https://files.pythonhosted.org/packages/2d/5e/43f4c482449446236fb0f0d591c0adb104aef19873d44212b39026ceca04/supervise-1.0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "dbc3f51476a17ba9754f461c062c6cb4", "sha256": "3f44a21ab7d12e9a5c3962ffede7f333dfbe9928362d0383a3dd4c8f6fdee65c" }, "downloads": -1, "filename": "supervise-1.0.1.tar.gz", "has_sig": false, "md5_digest": "dbc3f51476a17ba9754f461c062c6cb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5110, "upload_time": "2013-01-28T07:50:57", "url": "https://files.pythonhosted.org/packages/a6/19/c38e59db53fb57fbc00aa471d8c20f22d12d8ac21f1d512759c49d10a6cb/supervise-1.0.1.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "d5e596de2a69e6d627b92099aa69c1af", "sha256": "3ea6031799773388cd3df6206815e29771037967549e060392da628edb8d783c" }, "downloads": -1, "filename": "supervise-1.1-py2.7.egg", "has_sig": false, "md5_digest": "d5e596de2a69e6d627b92099aa69c1af", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 2073, "upload_time": "2014-04-08T16:11:47", "url": "https://files.pythonhosted.org/packages/dc/bd/75d750aaa63e3a4dcd93b068ab50b87550c3fb19da0c7423bb36953078cf/supervise-1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "00a77ff49fca52971a0759b47823b03e", "sha256": "7e73debec561cba530fdb13cfcd51bca384364e40592f6d539693aea616b38ac" }, "downloads": -1, "filename": "supervise-1.1.tar.gz", "has_sig": false, "md5_digest": "00a77ff49fca52971a0759b47823b03e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2565, "upload_time": "2014-04-08T16:11:44", "url": "https://files.pythonhosted.org/packages/3b/94/d4ae861ba8a92ac55675321351c19e895968064bf44b136a52a8f69498a2/supervise-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "dc49659a3ba4baecec46b8e6b6be5682", "sha256": "949aab2e508a709c9b5347a57ba7fd9cba586e1b6125d232340d9a17846415fb" }, "downloads": -1, "filename": "supervise-1.1.1-py2.6.egg", "has_sig": false, "md5_digest": "dc49659a3ba4baecec46b8e6b6be5682", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 10085, "upload_time": "2014-05-10T00:01:41", "url": "https://files.pythonhosted.org/packages/44/8d/4884b5d5263ad999597c00516f417a5e72fa686ff99a2c79e25b7f41394b/supervise-1.1.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "76be3c072e34eeb8aef3a394197cd225", "sha256": "dc24e08bac183255405ced40106d2e25fc2777b8256b5d6ae1c9fd55187f3053" }, "downloads": -1, "filename": "supervise-1.1.1-py2.7.egg", "has_sig": false, "md5_digest": "76be3c072e34eeb8aef3a394197cd225", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10094, "upload_time": "2014-05-10T00:01:18", "url": "https://files.pythonhosted.org/packages/b8/86/8800653f7ea85e3ab38be4f4a556b11f1b12ff8fd445fd265f6b75cb9408/supervise-1.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "0bbff85fa5897dddfdfbf0cbc7aa3eab", "sha256": "8671e1fedf064c24190d468be8248433032917167605f585b4c2c55a27be4132" }, "downloads": -1, "filename": "supervise-1.1.1.tar.gz", "has_sig": false, "md5_digest": "0bbff85fa5897dddfdfbf0cbc7aa3eab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5004, "upload_time": "2014-05-10T00:01:16", "url": "https://files.pythonhosted.org/packages/f6/8d/e4d2f8e975fa5364f217fce875420beac2de45c22b2c4ac0c6c64355d5e2/supervise-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc49659a3ba4baecec46b8e6b6be5682", "sha256": "949aab2e508a709c9b5347a57ba7fd9cba586e1b6125d232340d9a17846415fb" }, "downloads": -1, "filename": "supervise-1.1.1-py2.6.egg", "has_sig": false, "md5_digest": "dc49659a3ba4baecec46b8e6b6be5682", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 10085, "upload_time": "2014-05-10T00:01:41", "url": "https://files.pythonhosted.org/packages/44/8d/4884b5d5263ad999597c00516f417a5e72fa686ff99a2c79e25b7f41394b/supervise-1.1.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "76be3c072e34eeb8aef3a394197cd225", "sha256": "dc24e08bac183255405ced40106d2e25fc2777b8256b5d6ae1c9fd55187f3053" }, "downloads": -1, "filename": "supervise-1.1.1-py2.7.egg", "has_sig": false, "md5_digest": "76be3c072e34eeb8aef3a394197cd225", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10094, "upload_time": "2014-05-10T00:01:18", "url": "https://files.pythonhosted.org/packages/b8/86/8800653f7ea85e3ab38be4f4a556b11f1b12ff8fd445fd265f6b75cb9408/supervise-1.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "0bbff85fa5897dddfdfbf0cbc7aa3eab", "sha256": "8671e1fedf064c24190d468be8248433032917167605f585b4c2c55a27be4132" }, "downloads": -1, "filename": "supervise-1.1.1.tar.gz", "has_sig": false, "md5_digest": "0bbff85fa5897dddfdfbf0cbc7aa3eab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5004, "upload_time": "2014-05-10T00:01:16", "url": "https://files.pythonhosted.org/packages/f6/8d/e4d2f8e975fa5364f217fce875420beac2de45c22b2c4ac0c6c64355d5e2/supervise-1.1.1.tar.gz" } ] }