{ "info": { "author": "thuhak", "author_email": "thuhak.zhou@nio.com", "bugtrack_url": null, "classifiers": [], "description": "## \u53d8\u66f4\u89e6\u53d1\u5668\n\n### \u5e94\u7528\u573a\u666f\n\n\u5468\u671f\u6027\u7684\u6267\u884c\u67d0\u4e2a\u4efb\u52a1\uff0c \u5c06\u4efb\u52a1\u7684\u7ed3\u679c\u5b58\u50a8\u4e8e\u78c1\u76d8\u4e2d\u3002 \u5f53\u6bcf\u6b21\u68c0\u6d4b\u5230\u7ed3\u679c\u548c\u4e0a\u6b21\u4e0d\u540c\u65f6\uff0c \u66f4\u65b0\u5916\u90e8\u5b58\u50a8\u7684\u7ed3\u679c\u5e76\u89e6\u53d1\u56de\u8c03\u4efb\u52a1\n\n### \u5b89\u88c5\n\n```cmd\npip install diff_trigger\n```\n\n\n### \u4f7f\u7528\n\n#### \u4e3e\u4e2a\u6817\u5b50\n\n```python\nfrom diff_trigger import watchdiff\nimport requests\nimport logging\n\ndef trigger(old, new):\n logging.info('data change from {} to {}'.format(old, new))\n\n@watchdiff(dbpath='/var/cache/pythonjob', callback=trigger, key='somekey')\ndef job(url):\n r = requests.get(url)\n return r.content\n\nclass SomeClass:\n @watchdiff(dbpath='/var/cache/pythonjob', callback=trigger)\n def job(self, url):\n r = requests.get(url)\n return r.content\n```\n\n#### \u8bf4\u660e\n\n- \u5b9a\u4e49\u4e00\u4e2a\u6709\u4e24\u4e2a\u53c2\u6570\u7684\u56de\u8c03\u51fd\u6570\uff0c\u7b2c\u4e00\u4e2a\u53c2\u6570\u4f1a\u88ab\u4f20\u9012\u4e3a\u65e7\u7684\u7ed3\u679c\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570\u4f1a\u88ab\u4f20\u9012\u4e3a\u65b0\u7684\u7ed3\u679c\u3002\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4f7f\u7528\u8fd9\u4e2a\u6570\u636e\n- \u4f7f\u7528watchdiff\u4f5c\u4e3a\u88c5\u9970\u5668\uff0c\u586b\u5165\u672c\u5730\u7684\u6570\u636e\u5730\u5740\uff0c\u4ee5\u53ca\u6240\u8981\u6307\u5b9a\u7684\u89e6\u53d1\u51fd\u6570\u540d\u3002\u53ef\u4ee5\u624b\u5de5\u6307\u5b9a\u4e00\u4e2a\u952e\uff0c\u51fd\u6570\u7ed3\u679c\u4f1a\u5b58\u653e\u5728\u8fd9\u4e2a\u952e\u4e0b\u9762\u3002\u5982\u679c\u4e0d\u6307\u5b9a\u952e\u540d\uff0c\u4f1a\u6839\u636e\u51fd\u6570\u7684\u8c03\u7528\u53c2\u6570\u6765\u751f\u6210\u4e00\u4e2a\u952e\n- \u5728\u7c7b\u4e2d\u4f7f\u7528\u65f6\uff0c\u6574\u4e2a\u51fd\u6570\u7684\u7b7e\u540d\u8ba1\u7b97\u4f1a\u6709\u6574\u4e2a\u5b9e\u4f8b\u7684\u5e8f\u5217\u5316\u4fe1\u606f\uff0c \u56e0\u6b64\u5c3d\u91cf\u4e0d\u8981\u5728\u4f53\u79ef\u8f83\u5927\u7684\u7c7b\u4e2d\u4f7f\u7528\u3002\u6216\u8005\u4f7f\u7528staticmethod\n- \u5982\u679c\u5728\u7c7b\u4e2d\u4f5c\u4e3a\u88c5\u9970\u5668\u4f7f\u7528\uff0c\u9700\u8981\u6ce8\u610f\u7684\u662f\u5b9e\u4f8b\u7684\u6539\u53d8\u4f1a\u66f4\u6539\u672c\u5730\u6570\u636e\u5e93\u4e2d\u7684\u952e\u503c\uff0c\u5bfc\u81f4\u65e0\u6cd5\u89e6\u53d1\u56de\u8c03\u51fd\u6570\u3002\u53ea\u6709\u5728\u5b9e\u4f8b\u4e0d\u53d8\u7684\u60c5\u51b5\u4e0b\u624d\u4f1a\u6709\u6548\u3002\u6216\u8005\u4f7f\u7528staticmethod", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/thuhak/diff_trigger", "keywords": "decorator", "license": "", "maintainer": "", "maintainer_email": "", "name": "diff-trigger", "package_url": "https://pypi.org/project/diff-trigger/", "platform": "", "project_url": "https://pypi.org/project/diff-trigger/", "project_urls": { "Homepage": "https://github.com/thuhak/diff_trigger" }, "release_url": "https://pypi.org/project/diff-trigger/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "decorator for monitor function result, run callback when result has been changed", "version": "1.1.0" }, "last_serial": 4933253, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "18928defa9220d342ff575d1d7524c46", "sha256": "2b978fe94abfc6060ce1fe420dfacfd8c043d82c8d2e540bd2d1c4721238b06d" }, "downloads": -1, "filename": "diff_trigger-1.0.0.tar.gz", "has_sig": false, "md5_digest": "18928defa9220d342ff575d1d7524c46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2087, "upload_time": "2019-03-12T07:22:40", "url": "https://files.pythonhosted.org/packages/a4/ac/09ef4eba1e48c2a23466cb54ba87788391db29d761a27cba6a619e775293/diff_trigger-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "533966d4f333fdfb7d084faebb36080f", "sha256": "2465e02f32d80cf65587099de280d99488c0228bc9132cdecc86c7d689897197" }, "downloads": -1, "filename": "diff_trigger-1.1.0.tar.gz", "has_sig": false, "md5_digest": "533966d4f333fdfb7d084faebb36080f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3020, "upload_time": "2019-03-13T06:20:25", "url": "https://files.pythonhosted.org/packages/5e/32/c873f4afbd195bdf910e915a6542d81cb212f7318ad9cb5986538a8ab0a0/diff_trigger-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "533966d4f333fdfb7d084faebb36080f", "sha256": "2465e02f32d80cf65587099de280d99488c0228bc9132cdecc86c7d689897197" }, "downloads": -1, "filename": "diff_trigger-1.1.0.tar.gz", "has_sig": false, "md5_digest": "533966d4f333fdfb7d084faebb36080f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3020, "upload_time": "2019-03-13T06:20:25", "url": "https://files.pythonhosted.org/packages/5e/32/c873f4afbd195bdf910e915a6542d81cb212f7318ad9cb5986538a8ab0a0/diff_trigger-1.1.0.tar.gz" } ] }