{ "info": { "author": "Shish", "author_email": "webmaster+sdog@shishnet.org", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": "sdog\n====\n\nA process monitor using an extremely limited (but still useful enough for me)\nsubset of the systemd watchdog protocol\n\n\"450 downloads in the last week\" -- are people actually using this, or is pypi\njust full of bots? o.o;; I welcome your feedback if you are actually a person :)\n\n```\nUsage: sdog [options] -- daemon-to-run [daemon options]\n\nOptions:\n -h, --help show this help message and exit\n -t N, --timeout=N Maximum seconds between pings\n -r N, --respawn=N Delay between respawns\n -s FILE, --socket=FILE Path to socket\n -T NAME, --title=NAME Daemon name (defaults to the first param after \"--\")\n (Requires setproctitle module)\n -v, --verbose Verbose mode\n```\n\nFor Daemons\n===========\n\nThere is the sdog.notifier module\n\n```\nfrom sdog.notifier import SDNotifier\n\ndef main():\n # Create the notifier\n sd = SDNotifier()\n\n # Connect to the work queue and signal that we're ready to go\n work_queue = WorkQueue(\"localhost:1234\")\n sd.ready()\n\n while True:\n # Get some work and signal that we're working on it\n item = work_queue.get()\n sd.status(\"Processing %s\" % item.name)\n\n # Do the work then signal that we are alive and running successfully\n do_some_work(item)\n sd.watchdog()\n```\n\nProtocol\n========\n\nThe daemon will be launched with `NOTIFY_SOCKET=/some/path.sock` in its\nenvironment; it should then write datagram packets into this socket:\n\n```\nREADY=1 -- signal that the daemon has loaded, and to start monitoring\nWATCHDOG=1 -- must be sent at least once every $timeout seconds\nSTATUS=blah -- update the current status message\n```", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/shish/sdog", "keywords": "", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "SDog", "package_url": "https://pypi.org/project/SDog/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/SDog/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/shish/sdog" }, "release_url": "https://pypi.org/project/SDog/0.2.2/", "requires_dist": null, "requires_python": null, "summary": "SDog", "version": "0.2.2" }, "last_serial": 1033294, "releases": { "0.0": [ { "comment_text": "", "digests": { "md5": "db4f803c21a19b7f240e348fb019b972", "sha256": "32bfb7ce8d8c244abe791bc70381b6b8802f327ac28494b776221502167245ca" }, "downloads": -1, "filename": "SDog-0.0.tar.gz", "has_sig": false, "md5_digest": "db4f803c21a19b7f240e348fb019b972", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2492, "upload_time": "2014-03-10T07:32:10", "url": "https://files.pythonhosted.org/packages/c3/9a/3c0406c11431d9f808aa7a63a00bf6c5dac4385c6c1d810e54253534b5e9/SDog-0.0.tar.gz" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "3098ce93f8d4df7b0ac144ed5c545cfd", "sha256": "79aebf8990ba140e9f326dc5201c608ea15ab5e1c0bc5ecafdfa35b47923ecc6" }, "downloads": -1, "filename": "SDog-0.1.tar.gz", "has_sig": false, "md5_digest": "3098ce93f8d4df7b0ac144ed5c545cfd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3302, "upload_time": "2014-03-10T07:47:18", "url": "https://files.pythonhosted.org/packages/93/d1/14dd89361fc67164a25adb9410af245eb00e1959470559bf88307d1a9a8d/SDog-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "537b639dee564b3d569e1408e9da77be", "sha256": "d3427cb7709c9b8928a3ce8e52079256312d3f5df098cf2327b7f8f7ee39a1d7" }, "downloads": -1, "filename": "SDog-0.2.tar.gz", "has_sig": false, "md5_digest": "537b639dee564b3d569e1408e9da77be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3681, "upload_time": "2014-03-10T12:33:19", "url": "https://files.pythonhosted.org/packages/af/63/a6e3afaa11aff34f2785304c79508cba7fb4727b5a1ac3ee33a563056465/SDog-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "547ed8f3c190f6b6658db0cb14032118", "sha256": "921d28b579fb433cc7fa2a36beb36f054af95fc71750525a6ad86b2f9eff1199" }, "downloads": -1, "filename": "SDog-0.2.1.tar.gz", "has_sig": false, "md5_digest": "547ed8f3c190f6b6658db0cb14032118", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3845, "upload_time": "2014-03-10T12:38:23", "url": "https://files.pythonhosted.org/packages/f2/4b/b7cd3f857af15dea95525b0a5e3afcd748fbc4560f43437d0e7534b0e031/SDog-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "254daeff83bb7962256485fe3029f1fc", "sha256": "675b43a463562ca8383758982fe91b9089e2b89e834daaefe50b0c4aa3344023" }, "downloads": -1, "filename": "SDog-0.2.2.tar.gz", "has_sig": false, "md5_digest": "254daeff83bb7962256485fe3029f1fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3966, "upload_time": "2014-03-18T08:20:32", "url": "https://files.pythonhosted.org/packages/46/bd/4eaa6e53d111541b5e98f5ff8e29645c1a5cf755768089c6ddf8c43037bb/SDog-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "254daeff83bb7962256485fe3029f1fc", "sha256": "675b43a463562ca8383758982fe91b9089e2b89e834daaefe50b0c4aa3344023" }, "downloads": -1, "filename": "SDog-0.2.2.tar.gz", "has_sig": false, "md5_digest": "254daeff83bb7962256485fe3029f1fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3966, "upload_time": "2014-03-18T08:20:32", "url": "https://files.pythonhosted.org/packages/46/bd/4eaa6e53d111541b5e98f5ff8e29645c1a5cf755768089c6ddf8c43037bb/SDog-0.2.2.tar.gz" } ] }