{ "info": { "author": "xiaoh", "author_email": "xiaoh@about.me", "bugtrack_url": null, "classifiers": [], "description": "---\nlayout: post\ntitle: \"Shaku-Cli Readme\"\nsubtitle: \"Shaku Readme \u811a\u672c\u5b9a\u5236\u5316\u8fd0\u884c\u547d\u4ee4\u884c\u5de5\u5177\"\ndate: 2016-05-02 02:34:50\nauthor: \"xiaoh\"\nheader-img: \"img/post-bg-default.jpg\"\ntags:\n - shaku\n - cli\n - readme\n---\n\n# Shaku \u6a21\u5757\n\n---\n\nShaku \u662f\u4e00\u4e2a\u811a\u672c\uff08\u547d\u4ee4\u7b49\uff09\u5b9a\u65f6\u6267\u884c\u7684 WebService \u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86 RestAPI \u6765\u5e2e\u52a9\u5f00\u53d1\u4eba\u5458\u66f4\u5bb9\u6613\u7684\u5c06\u811a\u672c\u8bbe\u7f6e\u6210\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\u3002\n\n\u8be5\u6a21\u5757\u4e3a Shaku-Cli\uff0c\u65b9\u4fbf\u5f00\u53d1\u4eba\u5458\u5728\u547d\u4ee4\u884c\u6267\u884c\u811a\u672c\u7684\u5b9a\u5236\u5316\u8c03\u7528\u3002\n\n---\n\n## \u5b89\u88c5\n\nShaku-Cli \u5df2\u7ecf\u4e0a\u4f20\u5230 Pypi\uff0c\u4f7f\u7528 pip \u53ef\u4ee5\u5f88\u5bb9\u6613\u7684\u5b89\u88c5\u8be5\u811a\u672c\u3002\n\n```Shell\npip install shaku\n```\n\n---\n\n## \u6587\u6863\n\nShaku-Cli \u662f\u6709\u4e00\u4e2a\u5f88\u7b80\u5355\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 `shaku --help` \u6765\u67e5\u770b\u5e2e\u52a9\u6587\u6863\u3002\n\n```Shell\n$ shaku --help\nUsage: shaku [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n -v, --version\n --help Show this message and exit.\n\nCommands:\n cpu show CPU message\n disk show disk message\n machine show machine message\n memory show memory message\n network show network message\n spider show status of one spider\n spider_create create one spider\n spider_modify modify the time when starting one spider\n spider_start start one spider\n spiders show spider list\n spiders_delete remove all spiders\n```\n\n---\n\n### \u7efc\u5408\u4fe1\u606f\n\n\u6bcf\u4e2a\u547d\u4ee4\u90fd\u9700\u8981\u63d0\u4f9b host, port, version, \u542b\u4e49\u5982\u4e0b\n\nparameter | host | port | version\n\u7b80\u4ecb|\u57df\u540d|\u7aef\u53e3|\u7248\u672c\u53f7\n\u9ed8\u8ba4|\u65e0|\u65e0|1\n\n\u6b64\u4e09\u4e2a\u53c2\u6570\u6211\u5747\u5728\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u91c7\u7528\u4e86\u9ed8\u8ba4\u503c\uff0c\u5b9e\u9645\u4f7f\u7528\u8fc7\u6210\u529f\u4e2d\u9700\u8981\u586b\u5199\u76f8\u5bf9\u5e94\u7684\u4fe1\u606f\n\n\u4ee5\u4e0b\u547d\u4ee4\u7b80\u4ecb\u4e0d\u518d\u63d0\u53ca\u4ee5\u4e0a\u53c2\u6570\n\n---\n\n### CPU(DISK, MACHINE, MEMORY, NETWORK) \u4fe1\u606f\n\n```Shell\n$ shaku cpu\n{u'message': u'', u'code': 0, u'result': {u'count': 1, u'phy_count': 1, u'percent': u'2.3%', u'times': {u'system': 2527.84, u'iowait': 13145.04, u'idle': 854261.55, u'user': 4806.85, u'nice': 90.91}}}\n```\n\n\u548cCPU\u7c7b\u4f3c\uff0cdisk, machine, memory, network \u90fd\u53ef\u4ee5\u8fd9\u6837\u6765\u64cd\u4f5c\u4ee5\u83b7\u53d6\u76f8\u5173\u4fe1\u606f\u3002\n\n---\n\n### \u722c\u866b\u4fe1\u606f\u663e\u793a `spider`\n\n\u547d\u4ee4 `shaku spider --help` \u53ef\u4ee5\u663e\u793a\u722c\u866b\u547d\u4ee4\u7684\u5e2e\u52a9\u4fe1\u606f\u3002\n\n```Shell\n$ shaku spider --help\nUsage: shaku spider [OPTIONS]\n\n show status of one spider\n\nOptions:\n -h, --host TEXT host of shaku service\n -p, --port TEXT port of shaku service\n -v, --version INTEGER version of shaku service\n -n, --name TEXT name of spider [required]\n --help Show this message and exit.\n```\n\n\u9700\u8981\u63d0\u4f9b\u722c\u866b\u540d\u79f0\u6765\u67e5\u770b\u722c\u866b\u7684\u76f8\u5173\u4fe1\u606f\n\n\u5f53\u6ca1\u6709\u722c\u866b\u65f6\uff0c\u663e\u793a:\n\n```Shell\n$ shaku spider -n test_not_found\n{\"message\": \"spider not found\", \"code\": 10100, \"result\": null}\n```\n\n\u6709\u722c\u866b\u65f6\u663e\u793a\uff1a\n\n```Shell\n$ shaku spider -n test\n{\"message\": \"Service not running now.\", \"code\": 0, \"result\": {\"comment\": \"test\", \"hour\": \"*\", \"days\": \"*\", \"month\": \"*\", \"command\": \"supervisorctl start test\", \"minute\": \"*\"}}\n```\n\n\u6216\n\n```Shell\n$ shaku spider -n test\n{\"message\": \"\", \"code\": 0, \"result\": {\"status\": \"sleeping\", \"username\": \"xingming\", \"cpu_times\": {\"children_user\": 0.0, \"children_system\": 0.0, \"system\": 0.0, \"user\": 0.01}, \"pid\": 5681, \"is_running\": true, \"cmdline\": [\"python\", \"spider-test.py\"], \"memory_info\": {\"lib\": 0, \"text\": 2871296, \"dirty\": 0, \"shared\": 2408448, \"data\": 2531328, \"vms\": 28983296, \"rss\": 4739072}, \"running_time\": \"0:00:20\", \"cpu_percent\": 0.0, \"create_time\": \"2016-05-03 02:03:38\", \"job_msg\": {\"comment\": \"test\", \"hour\": \"0\", \"days\": \"*\", \"month\": \"*\", \"command\": \"supervisorctl start test\", \"minute\": \"5\"}}}\n```\n\n---\n\n### \u521b\u5efa\u722c\u866b `spider_create`\n\n\u547d\u4ee4 `shaku spider_create --help` \u67e5\u770b\u9700\u8981\u7684\u53c2\u6570\u4fe1\u606f\n\n```Shell\n$ shaku spider_create --help\nUsage: shaku spider_create [OPTIONS]\n\n create one spider\n\nOptions:\n -h, --host TEXT host of shaku service\n -p, --port TEXT port of shaku service\n -v, --version INTEGER version of shaku service\n -n, --name TEXT name of spider [required]\n -f, --filename TEXT script of spider [required]\n -M, --mins TEXT mins of running this spider\n -H, --hour TEXT hour of running this spider\n -d, --days TEXT days of running this spider\n -m, --month TEXT month of running this spider\n -c, --command TEXT command of running this spider [required]\n --help Show this message and exit.\n```\n\n\u9700\u8981\u63d0\u4f9b\u7684\u5185\u5bb9\u5982\u4e0a\uff0c\u5176\u4e2d name, filename, command \u4e3a\u5fc5\u987b\u63d0\u4f9b\u7684\u4fe1\u606f\uff0c\u9ed8\u8ba4\u722c\u866b\u6267\u884c\u65f6\u95f4\u4e3a\u51cc\u666812\u70b9\uff0c\u5982\u679c\u9700\u8981\u4fee\u6539\uff0c\u53ef\u4ee5\u63d0\u4f9bhour\u7b49\u53c2\u6570\n\n\u4ee5\u4e0b\u662f\u521b\u5efa\u722c\u866b\u7684\u4f8b\u5b50:\n\n```Shell\n$ shaku spider_create -n test -f spider-test.py -c 'python spider-test.py' -M '*' -H '*'\n{\"job\": {\"comment\": \"test\", \"hour\": \"*\", \"days\": \"*\", \"month\": \"*\", \"command\": \"supervisorctl start test\", \"minute\": \"*\"}}\n```\n\n\u4ee5\u4e0a\u547d\u4ee4\uff0c\u811a\u672c\u4f1a\u5728\u6bcf\u5206\u949f\u7684\u65f6\u5019\u90fd\u4f1a\u6267\u884c\u4e00\u6b21\uff0c\u56e0\u4e3a\u662f\u6d4b\u8bd5\u811a\u672c\uff0c\u6240\u4ee5\u8bbe\u5b9a\u6267\u884c\u65f6\u95f4\u6bd4\u8f83\u8fd1\uff0c\u4f60\u53ef\u4ee5\u6309\u7167\u9700\u6c42\u8bbe\u7f6e\u81ea\u5df1\u811a\u672c\u7684\u8fd0\u884c\u65f6\u95f4\u3002\n\n\u67e5\u770b\u811a\u672c\u4fe1\u606f\u547d\u4ee4\u5728\u4e0a\u9762\uff08\u722c\u866b\u4fe1\u606f\u663e\u793a\u90e8\u5206)\n\n---\n\n### \u4fee\u6539\u722c\u866b\u6267\u884c\u65f6\u95f4 `spider_modify`\n\n\u4f7f\u7528 `shaku spider_modify --help` \u6765\u67e5\u770b\u5e2e\u52a9\n\n```Shell\n$ shaku spider_modify --help\nUsage: shaku spider_modify [OPTIONS]\n\n modify the time when starting one spider\n\nOptions:\n -h, --host TEXT host of shaku service\n -p, --port TEXT port of shaku service\n -v, --version INTEGER version of shaku service\n -n, --name TEXT name of spider [required]\n -M, --mins TEXT mins of running this spider\n -H, --hour TEXT hour of running this spider\n -d, --days TEXT days of running this spider\n -m, --month TEXT month of running this spider\n --help Show this message and exit.\n```\n\n\u63d0\u4f9b\u5bf9\u5e94\u7684\u722c\u866b\u540d\u79f0\u548c\u9700\u8981\u4fee\u6539\u7684\u722c\u866b\u6267\u884c\u65f6\u95f4\uff0c\u5373\u53ef\u4fee\u6539\u722c\u866b\u7684\u4fe1\u606f\n\n```Shell\n$ shaku spider_modify -n test -M 5\n{\"message\": \"\", \"code\": 0, \"result\": {\"comment\": \"test\", \"hour\": \"0\", \"days\": \"*\", \"month\": \"*\", \"command\": \"supervisorctl start test\", \"minute\": \"5\"}}\n```\n\n---\n\n### \u542f\u52a8\u722c\u866b `spider_start`\n\n\u4f7f\u7528 `shaku spider_start --help` \u6765\u67e5\u770b\u5e2e\u52a9\n\n```Shell\n$ shaku spider_start --help\nUsage: shaku spider_start [OPTIONS]\n\n start one spider\n\nOptions:\n -h, --host TEXT host of shaku service\n -p, --port TEXT port of shaku service\n -v, --version INTEGER version of shaku service\n -n, --name TEXT name of spider [required]\n --help Show this message and exit.\n```\n\n\u6307\u5b9a\u722c\u866b\u540d\u79f0\u5373\u53ef\u5c06\u722c\u866b\u542f\u52a8\n\n```Shell\n$ shaku spider_start -n test\n{\"message\": \"\", \"code\": 0, \"result\": [\"test\", \"RUNNING\", \"pid\", \"5681\", \"uptime\", \"0:00:03\"]}\n```\n\n\u542f\u52a8\u540e\u7684\u8fdb\u7a0b\u4fe1\u606f\uff0c\u53c2\u8003\u4ee5\u4e0a\u722c\u866b\u4fe1\u606f\u67e5\u770b\u90e8\u5206\n\n---\n\n### \u67e5\u770b\u722c\u866bLOG `spider_log`\n\n\u4f7f\u7528 `shaku spider_log --help` \u67e5\u770b\u5e2e\u52a9\u6587\u6863\n\n```Shell\n$ shaku spider_log --help\nUsage: shaku spider_log [OPTIONS]\n\n show logging of one spider\n\nOptions:\n -h, --host TEXT host of shaku service\n -p, --port TEXT port of shaku service\n -v, --version INTEGER version of shaku service\n -n, --name TEXT name of spider [required]\n -l, --line INTEGER ones of logging you want to see\n --help Show this message and exit.\n```\n\n\u9700\u8981\u6307\u5b9a\u722c\u866b\u540d\u79f0\u548c\u65e5\u5fd7\u884c\u6570\uff08\u9ed8\u8ba4100\u884c\uff09\n\n```Shell\n$ shaku spider_log -n test -l 20\n{\"message\": \"\", \"code\": 0, \"result\": [\"2016-05-03 11:47:01 Runing works now.\", \"2016-05-03 11:47:21 All works have done.\", \"2016-05-03 11:48:01 Runing works now.\", \"2016-05-03 11:48:21 All works have done.\", \"2016-05-03 11:49:01 Runing works now.\", \"2016-05-03 11:49:21 All works have done.\", \"2016-05-03 11:50:01 Runing works now.\", \"2016-05-03 11:50:21 All works have done.\", \"2016-05-03 11:51:01 Runing works now.\", \"2016-05-03 11:51:21 All works have done.\", \"2016-05-03 11:52:01 Runing works now.\", \"2016-05-03 11:52:21 All works have done.\", \"2016-05-03 11:53:01 Runing works now.\", \"2016-05-03 11:53:21 All works have done.\", \"2016-05-03 11:54:01 Runing works now.\", \"2016-05-03 11:54:21 All works have done.\", \"2016-05-03 11:55:01 Runing works now.\", \"2016-05-03 11:55:21 All works have done.\", \"2016-05-03 11:56:01 Runing works now.\", \"2016-05-03 11:56:21 All works have done.\"]}\n```\n\n---\n\n### \u67e5\u770b\u722c\u866b\u5217\u8868 `spiders`\n\n\u4f7f\u7528 `shaku spiders --help` \u67e5\u770b\u5e2e\u52a9\n\n```Shell\n$ shaku spiders --help\nUsage: shaku spiders [OPTIONS]\n\n show spider list\n\nOptions:\n -h, --host TEXT host of shaku service\n -p, --port TEXT port of shaku service\n -v, --version INTEGER version of shaku service\n --help Show this message and exit.\n```\n\n\u4f8b\u5982\uff1a\n\n```Shell\n$ shaku spiders\n{\"message\": \"\", \"code\": 0, \"result\": [{\"comment\": \"test2\", \"hour\": \"0\", \"days\": \"*\", \"month\": \"*\", \"command\": \"supervisorctl start test2\", \"minute\": \"0\"}, {\"comment\": \"test5\", \"hour\": \"0\", \"days\": \"*\", \"month\": \"*\", \"command\": \"supervisorctl start test5\", \"minute\": \"0\"}, {\"comment\": \"test\", \"hour\": \"0\", \"days\": \"*\", \"month\": \"*\", \"command\": \"supervisorctl start test\", \"minute\": \"5\"}]}\n```\n\n---\n\n### \u5220\u9664\u6240\u6709\u722c\u866b `spiders_delete`\n\n\u4f7f\u7528 `shaku spiders_delete --help` \u6765\u67e5\u770b\u5e2e\u52a9\n\n```Shell\n$ shaku spiders_delete --help\nUsage: shaku spiders_delete [OPTIONS]\n\n remove all spiders\n\nOptions:\n -h, --host TEXT host of shaku service\n -p, --port TEXT port of shaku service\n -v, --version INTEGER version of shaku service\n --help Show this message and exit.\n```\n\n\u4f8b\u5982\n\n```Shell\n$ shaku spiders_delete\n{\"message\": \"\", \"code\": 0, \"result\": null}\n$ shaku spiders\n{\"message\": \"\", \"code\": 0, \"result\": []}\n```\n\n---\n\n## Contact\n\nIf you have any questions, welcome to send an email to xiaoh@about.me\n\n---\n\n## Blog\n\nWelcom to my blog: http://www.xiaoh.me\n\n---\n\n### END", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi?:action=display&name=shaku", "keywords": null, "license": "MIT Licence", "maintainer": null, "maintainer_email": null, "name": "shaku", "package_url": "https://pypi.org/project/shaku/", "platform": "any", "project_url": "https://pypi.org/project/shaku/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://pypi.python.org/pypi?:action=display&name=shaku" }, "release_url": "https://pypi.org/project/shaku/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "Shaku \u662f\u4e00\u4e2a\u811a\u672c\uff08\u547d\u4ee4\u7b49\uff09\u5b9a\u65f6\u6267\u884c\u7684 WebService \u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86 RestAPI \u6765\u5e2e\u52a9\u5f00\u53d1\u4eba\u5458\u66f4\u5bb9\u6613\u7684\u5c06\u811a\u672c\u8bbe\u7f6e\u6210\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\u3002", "version": "0.0.4" }, "last_serial": 2096392, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "c2489f4df21c2bc85aae6309f6fd3149", "sha256": "2eb2f1ea0086e3c7cb290d4f6a5c7b0bf539706eaa411aae559a48afcd402858" }, "downloads": -1, "filename": "shaku-0.0.2.tar.gz", "has_sig": false, "md5_digest": "c2489f4df21c2bc85aae6309f6fd3149", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4967, "upload_time": "2016-05-02T18:22:20", "url": "https://files.pythonhosted.org/packages/44/83/5b9c2bf5f16adf1b088aeba3bd0f81cb71e6820c3c3076216fcd17f96d72/shaku-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "60f7661945e776414e6db9e91b47037d", "sha256": "5e24e9a247912558cfdeffad3ed00788b52fc96fca6057eb7b9f750250a6b609" }, "downloads": -1, "filename": "shaku-0.0.3.tar.gz", "has_sig": false, "md5_digest": "60f7661945e776414e6db9e91b47037d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5718, "upload_time": "2016-05-02T18:25:53", "url": "https://files.pythonhosted.org/packages/70/90/32aa9a3b218dc80ff79dcb5a3ccb37ed5eb072c3371f0843745e889e8c52/shaku-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "1c381436511fc80fc3a97d4012867ee0", "sha256": "70c5ea7ebfc58933db91ef0baab68356c77db9604638dd40a706d5a54f1bb940" }, "downloads": -1, "filename": "shaku-0.0.4.tar.gz", "has_sig": false, "md5_digest": "1c381436511fc80fc3a97d4012867ee0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6211, "upload_time": "2016-05-03T05:44:34", "url": "https://files.pythonhosted.org/packages/e4/9c/d4f986da9b2a9a20489029d802dc7ad5fb55c52edaccff0cb1a0450ad524/shaku-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1c381436511fc80fc3a97d4012867ee0", "sha256": "70c5ea7ebfc58933db91ef0baab68356c77db9604638dd40a706d5a54f1bb940" }, "downloads": -1, "filename": "shaku-0.0.4.tar.gz", "has_sig": false, "md5_digest": "1c381436511fc80fc3a97d4012867ee0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6211, "upload_time": "2016-05-03T05:44:34", "url": "https://files.pythonhosted.org/packages/e4/9c/d4f986da9b2a9a20489029d802dc7ad5fb55c52edaccff0cb1a0450ad524/shaku-0.0.4.tar.gz" } ] }