{ "info": { "author": "Daniel Holth", "author_email": "dholth@fastmail.fm", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Server" ], "description": "Replacement for 'paster serve --reload config.ini'.\n\nReload a WSGI application on source change. Keep the old code alive\nwhen the change has syntax errors. Never close the socket, never refuse\na connection.\n\nAs of version 0.3, ReloadWSGI also supports reloading a server specified\nin the config file. This is appropriate for wsgi servers such as\nmongrel2_wsgi which are able to support two concurrent instances\nwithout stepping on each other's network connection. Once ReloadWSGI\nconfirms the second server can load without throwing e.g. a syntax error,\nthe original server quits and Mongrel2's automatic load balancing\nsends requests to the newer instance.\n\n\nPID 4197 notifies us of a change in quux.py ::\n\n quux.py changed; reloading...\n {'status': 'changed', 'pid': 4197}\n\n\nOh no! We accidentally typed \"foobar\" instead of \"import foobar\"! ::\n\n Process Process-4:\n Traceback (most recent call last):\n ...\n File \"quux.py\", line 6, in \n foobar\n NameError: name 'foobar' is not defined\n\n\nCan we visit our site? YES!::\n\n 127.0.0.1 - - [03/Mar/2010 09:41:52] \"GET /orders HTTP/1.1\" 200 2345\n\n\nPID 4197 notifies us of /another/ change in quux.py ::\n\n quux.py changed; reloading...\n {'status': 'changed', 'pid': 4197}\n\n\nWe've fixed our problem. Once the new process loads, the old process\nquits silently ::\n\n 09:42:39,789 DEBUG [quux.run] App started.\n {'status': 'loaded', 'pid': 4354}", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/dholth/reloadwsgi/", "keywords": "wsgi", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "ReloadWSGI", "package_url": "https://pypi.org/project/ReloadWSGI/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ReloadWSGI/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://bitbucket.org/dholth/reloadwsgi/" }, "release_url": "https://pypi.org/project/ReloadWSGI/0.3/", "requires_dist": null, "requires_python": null, "summary": "Robust WSGI auto-reloading for development.", "version": "0.3" }, "last_serial": 785529, "releases": { "0.1dev": [ { "comment_text": "", "digests": { "md5": "f102875ee09206ead5a607f8337f7c55", "sha256": "07008acd2917b534368af2dbd3f8bcea5993d03b70819f761a4a3f8a0b85d436" }, "downloads": -1, "filename": "ReloadWSGI-0.1dev.tar.gz", "has_sig": false, "md5_digest": "f102875ee09206ead5a607f8337f7c55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3239, "upload_time": "2010-03-05T05:28:56", "url": "https://files.pythonhosted.org/packages/48/3e/22fea875f98ec8a6530e5634fb665e7b0cdc61dfba5dd7618c77099331cd/ReloadWSGI-0.1dev.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "94ae3d568b25830fe3e2329e02d10510", "sha256": "69157b0e7c34d6c765ea7cde0923bb084f440da7ad0a5c3623ff135761dd4b0f" }, "downloads": -1, "filename": "ReloadWSGI-0.2.tar.gz", "has_sig": false, "md5_digest": "94ae3d568b25830fe3e2329e02d10510", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3200, "upload_time": "2010-03-05T15:27:12", "url": "https://files.pythonhosted.org/packages/9d/bf/dcf4710591e105863429dc0385aeec73c3de92c2a2d4013648e6113beda0/ReloadWSGI-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "b42dc369ff834f23bda19d5a0349bdf5", "sha256": "79a1bf40ae54bb817f9f9746ef0b562c9cdb44366a831df5ab3f68e02c9b3f0f" }, "downloads": -1, "filename": "ReloadWSGI-0.3.tar.gz", "has_sig": false, "md5_digest": "b42dc369ff834f23bda19d5a0349bdf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3835, "upload_time": "2010-11-18T05:21:49", "url": "https://files.pythonhosted.org/packages/76/bd/e094f3cf548b6d75a1ad992a1cf656f081904666446c6ca30f13697cf98b/ReloadWSGI-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b42dc369ff834f23bda19d5a0349bdf5", "sha256": "79a1bf40ae54bb817f9f9746ef0b562c9cdb44366a831df5ab3f68e02c9b3f0f" }, "downloads": -1, "filename": "ReloadWSGI-0.3.tar.gz", "has_sig": false, "md5_digest": "b42dc369ff834f23bda19d5a0349bdf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3835, "upload_time": "2010-11-18T05:21:49", "url": "https://files.pythonhosted.org/packages/76/bd/e094f3cf548b6d75a1ad992a1cf656f081904666446c6ca30f13697cf98b/ReloadWSGI-0.3.tar.gz" } ] }