{ "info": { "author": "UNKNOWN", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [], "description": "AppEngine Deferred module improved\n==================================\n\nThis is forked from FreshPlanet's improved `App Engine Deferred module `_.\nand has the added functionality of having a Django View along with the webapp2 handler so that it can be used in\neither project type.\n\nThe AppEngine Python SDK has a great module when it comes to easily run some code \"later\": `the deferred library `_\n(if you are unfamiliar with this library, please have a look at its documentation first).\n\nHowever the library has a few drawbacks that we solve here:\n\n- No asynchronous method (`issue 9530 `_)\n- The internal request handler inherits from webapp instead of webapp2 which can be an issue when using some webapp2 features (like webapp2.get_request)\n- It uses pickle instead of leveraging cPickle available with the Python 2.7 runtime.\n- The Route it uses is internal and will skip your middlewares unless you define them in a special appengine_config.py module.\n- Task could fail to properly execute when hitting a fresh instance which did not had all code loaded\n- Logging is a bit verbose: it uses the INFO level to show task headers that are redundant with what we can see by default in the AppEngine logs\n\nWe also added a couple of features to it:\n\n- Explicit URLs for tasks: instead of just seeing */_ah/queue/deferred* in your logs you will see something like */_cb/deferred/app.module.name/funcName*\n- Possibility to spread tasks over several queues in case of high throughput\n- Improved logging in case of error\n- Possibility to tie it to a *background* module to optimize serving requests\n\nAnd some helpers:\n- is_from_task_queue(): Check if we are currently running from a task queue\n- get_retry_count(): Returns the current number of times the current task is being retried\n- log_as_retried(): Depending on # of times the task is being retried, we will increase the logging level.\n\nOur module still makes use of the deferred exceptions types ```SingularTaskFailure``` and ```PermanentTaskFailure``` to be compatible with existing code.\n\nInstallation\n~~~~~~~~~~~~\n\n1. pip install fh-django-gae-tasks\n2. Load the app in your Django project's settings.py\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n 'gae_tasks'\n )\n\n3. Load the URL for the app\n\n.. code-block:: python\n\n urlpatterns = [\n url(r'^', include('gae_tasks.urls')),\n ]\n\n4. Optionally, better integrate with your application by updating the tasks settings:\n\n.. code-block:: python\n\n GAE_TASKS_DISABLE: False\n GAE_TASKS_WARMUP_MODULE: None\n GAE_TASKS_DEFAULT_QUEUES: ['default']\n GAE_TASKS_BACKGROUND_MODULE: None\n\n(See the tasks module for more details)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/futurehaus/django-gae-tasks", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "fh-django-gae-tasks", "package_url": "https://pypi.org/project/fh-django-gae-tasks/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fh-django-gae-tasks/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://gitlab.com/futurehaus/django-gae-tasks" }, "release_url": "https://pypi.org/project/fh-django-gae-tasks/0.2.4/", "requires_dist": null, "requires_python": null, "summary": "Django GAE tasks improves upon App Engine's Deferred library and is forked from FreshPlanet's project.", "version": "0.2.4" }, "last_serial": 2001919, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c5840b715bc185a4c61c1f7e4e48df50", "sha256": "45faa03ce21b054259ad47cbae7a7128fdbf7ac29d61067b48577a6a6c71b8cf" }, "downloads": -1, "filename": "fh-django-gae-tasks-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c5840b715bc185a4c61c1f7e4e48df50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6665, "upload_time": "2016-02-28T20:25:40", "url": "https://files.pythonhosted.org/packages/88/fc/ae80971c7cc3535064b7152a2dd270991a502cfef1290c21c6624d94e97b/fh-django-gae-tasks-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b0bb3c4e73cf0cc92e9e1c8a6101c23c", "sha256": "69242810253919d0fb86b03ae6042781866674196e742ca527a509e1c71e0bb2" }, "downloads": -1, "filename": "fh-django-gae-tasks-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b0bb3c4e73cf0cc92e9e1c8a6101c23c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6671, "upload_time": "2016-02-28T20:40:00", "url": "https://files.pythonhosted.org/packages/a9/c5/0bff70eeace2169841cee3dea9e81d45b3c72d20d4799397b860d09fcee7/fh-django-gae-tasks-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "53460c3492352c3667b76053c8f08816", "sha256": "225d218cfff680a333489bab6f7ecc72cc2402e76c56dbc5aba66d5d10c549eb" }, "downloads": -1, "filename": "fh-django-gae-tasks-0.2.0.tar.gz", "has_sig": false, "md5_digest": "53460c3492352c3667b76053c8f08816", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6775, "upload_time": "2016-02-29T04:08:59", "url": "https://files.pythonhosted.org/packages/37/e8/e2bfb284d0f092f097a226883171baf2b8a4fb88ed45624eb2d0e045c08a/fh-django-gae-tasks-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "292075a7c1c2d88b38368d68ca2079c4", "sha256": "337507279545a9be1dffeba710f41eb1fcc607b811563ce16a037be37a8cc855" }, "downloads": -1, "filename": "fh-django-gae-tasks-0.2.1.tar.gz", "has_sig": false, "md5_digest": "292075a7c1c2d88b38368d68ca2079c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6782, "upload_time": "2016-02-29T05:33:44", "url": "https://files.pythonhosted.org/packages/32/ba/b765ae9ec6b74a31622e0d83feaf2646716bd62583986a7afbca470d9db6/fh-django-gae-tasks-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "16063b790a576452c9d7616ed19c0f10", "sha256": "98e106ed8933b15d805bf7eb9c3ff9cd529a58c273972f1f433cb08c64263c1a" }, "downloads": -1, "filename": "fh-django-gae-tasks-0.2.2.tar.gz", "has_sig": false, "md5_digest": "16063b790a576452c9d7616ed19c0f10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6779, "upload_time": "2016-03-11T19:32:59", "url": "https://files.pythonhosted.org/packages/22/d2/1670791abb1e7baf0272092a0883b883724f590a76f6a438d933b7e2247e/fh-django-gae-tasks-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "7f6ffd6f0a13ef4c27d58da1d0fce7d1", "sha256": "e995951c08c274b09ab820c9ff69e6f418434f50114ce9bd341dd33c96680585" }, "downloads": -1, "filename": "fh-django-gae-tasks-0.2.3.tar.gz", "has_sig": false, "md5_digest": "7f6ffd6f0a13ef4c27d58da1d0fce7d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6791, "upload_time": "2016-03-11T19:35:33", "url": "https://files.pythonhosted.org/packages/61/41/81b5fbef185b2cb2294312cc036a09b85ffa79b4b5588e055d57a714beff/fh-django-gae-tasks-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "0bce5d298d4df3895c287541734d7dc3", "sha256": "c4d8053e7d8f4872acaeacd1053f2cb844b1bdc71d87d1f9138d9be3231aaeef" }, "downloads": -1, "filename": "fh-django-gae-tasks-0.2.4.tar.gz", "has_sig": false, "md5_digest": "0bce5d298d4df3895c287541734d7dc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6780, "upload_time": "2016-03-11T19:37:29", "url": "https://files.pythonhosted.org/packages/46/cc/39bbc8261bef11fa0384015c4cbae24b3cf9deea5cefac31cbf9b93025db/fh-django-gae-tasks-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0bce5d298d4df3895c287541734d7dc3", "sha256": "c4d8053e7d8f4872acaeacd1053f2cb844b1bdc71d87d1f9138d9be3231aaeef" }, "downloads": -1, "filename": "fh-django-gae-tasks-0.2.4.tar.gz", "has_sig": false, "md5_digest": "0bce5d298d4df3895c287541734d7dc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6780, "upload_time": "2016-03-11T19:37:29", "url": "https://files.pythonhosted.org/packages/46/cc/39bbc8261bef11fa0384015c4cbae24b3cf9deea5cefac31cbf9b93025db/fh-django-gae-tasks-0.2.4.tar.gz" } ] }