=============
pyramid_retry
=============
.. image:: https://img.shields.io/pypi/v/pyramid_retry.svg
:target: https://pypi.python.org/pypi/pyramid_retry
.. image:: https://img.shields.io/travis/Pylons/pyramid_retry/master.svg
:target: https://travis-ci.org/Pylons/pyramid_retry
.. image:: https://readthedocs.org/projects/pyramid_retry/badge/?version=latest
:target: https://readthedocs.org/projects/pyramid_retry/?badge=latest
:alt: Documentation Status
``pyramid_retry`` is an execution policy for Pyramid that wraps requests and
can retry them a configurable number of times under certain "retryable" error
conditions before indicating a failure to the client.
See https://docs.pylonsproject.org/projects/pyramid-retry/en/latest/
or ``docs/index.rst`` in this distribution for detailed
documentation.
2.1.1 (2020-03-21)
==================
- Ensure the threadlocals are properly popped if the ``activate_hook`` throws
an error or the request body fails to read due to a client disconnect.
See https://github.com/Pylons/pyramid_retry/pull/20
2.1 (2019-09-30)
================
- Add ``exception`` and ``response`` attributes to the
``pyramid_retry.IBeforeRetry`` event.
See https://github.com/Pylons/pyramid_retry/pull/19
2.0 (2019-06-06)
================
- No longer call ``invoke_exception_view`` if the policy catches an exception.
If on the last attempt or non-retryable then the exception will now bubble
out of the app and into WSGI middleware.
See https://github.com/Pylons/pyramid_retry/pull/17
1.0 (2018-10-18)
================
- Support Python 3.7.
- Update the version we require for Pyramid to a non-prerelease so that pip and
other tools don't accidentally install pre-release software.
See https://github.com/Pylons/pyramid_retry/pull/13
0.5 (2017-06-19)
================
- Update the policy to to track changes in Pyramid 1.9b1. This is an
incompatible change and requires at least Pyramid 1.9b1.
See https://github.com/Pylons/pyramid_retry/pull/11
0.4 (2017-06-12)
================
- Add the ``mark_error_retryable`` function in order to easily mark
certain errors as retryable for ``pyramid_retry`` to detect.
See https://github.com/Pylons/pyramid_retry/pull/8
- Add the ``IBeforeRetry`` event that can be subscribed to be notified
when a retry is about to occur in order to perform cleanup on the
``environ``. See https://github.com/Pylons/pyramid_retry/pull/9
0.3 (2017-04-10)
================
- Support a ``retry.activate_hook`` setting which can return a per-request
number of retries. See https://github.com/Pylons/pyramid_retry/pull/4
- Configuration is deferred so that settings may be changed after
``config.include('pyramid_retry')`` is invoked until the configurator
is committed. See https://github.com/Pylons/pyramid_retry/pull/4
- Rename the view predicates to ``last_retry_attempt`` and
``retryable_error``. See https://github.com/Pylons/pyramid_retry/pull/3
- Rename ``pyramid_retry.is_exc_retryable`` to
``pyramid_retry.is_error_retryable``.
See https://github.com/Pylons/pyramid_retry/pull/3
0.2 (2017-03-02)
================
- Change the default attempts to 3 instead of 1.
- Rename the view predicates to ``is_last_attempt`` and ``is_exc_retryable``.
- Drop support for the ``tm.attempts`` setting.
- The ``retry.attempts`` setting is always set now in
``registry.settings['retry.attempts']`` so that apps can inspect it.
0.1 (2017-03-01)
================
- Initial release.
Raw data
{
"_id": null,
"home_page": "https://github.com/Pylons/pyramid_retry",
"name": "pyramid-retry",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "pyramid wsgi retry attempt",
"author": "Michael Merickel",
"author_email": "pylons-discuss@googlegroups.com",
"download_url": "https://files.pythonhosted.org/packages/bf/02/2a084e7bc8ca3c50b67c6a6d58598c5771d93399e9ff2aadf6aa29c1adcc/pyramid_retry-2.1.1.tar.gz",
"platform": "",
"description": "=============\npyramid_retry\n=============\n\n.. image:: https://img.shields.io/pypi/v/pyramid_retry.svg\n :target: https://pypi.python.org/pypi/pyramid_retry\n\n.. image:: https://img.shields.io/travis/Pylons/pyramid_retry/master.svg\n :target: https://travis-ci.org/Pylons/pyramid_retry\n\n.. image:: https://readthedocs.org/projects/pyramid_retry/badge/?version=latest\n :target: https://readthedocs.org/projects/pyramid_retry/?badge=latest\n :alt: Documentation Status\n\n``pyramid_retry`` is an execution policy for Pyramid that wraps requests and\ncan retry them a configurable number of times under certain \"retryable\" error\nconditions before indicating a failure to the client.\n\nSee https://docs.pylonsproject.org/projects/pyramid-retry/en/latest/\nor ``docs/index.rst`` in this distribution for detailed\ndocumentation.\n\n\n2.1.1 (2020-03-21)\n==================\n\n- Ensure the threadlocals are properly popped if the ``activate_hook`` throws\n an error or the request body fails to read due to a client disconnect.\n See https://github.com/Pylons/pyramid_retry/pull/20\n\n2.1 (2019-09-30)\n================\n\n- Add ``exception`` and ``response`` attributes to the\n ``pyramid_retry.IBeforeRetry`` event.\n See https://github.com/Pylons/pyramid_retry/pull/19\n\n2.0 (2019-06-06)\n================\n\n- No longer call ``invoke_exception_view`` if the policy catches an exception.\n If on the last attempt or non-retryable then the exception will now bubble\n out of the app and into WSGI middleware.\n See https://github.com/Pylons/pyramid_retry/pull/17\n\n1.0 (2018-10-18)\n================\n\n- Support Python 3.7.\n\n- Update the version we require for Pyramid to a non-prerelease so that pip and\n other tools don't accidentally install pre-release software.\n See https://github.com/Pylons/pyramid_retry/pull/13\n\n0.5 (2017-06-19)\n================\n\n- Update the policy to to track changes in Pyramid 1.9b1. This is an\n incompatible change and requires at least Pyramid 1.9b1.\n See https://github.com/Pylons/pyramid_retry/pull/11\n\n0.4 (2017-06-12)\n================\n\n- Add the ``mark_error_retryable`` function in order to easily mark\n certain errors as retryable for ``pyramid_retry`` to detect.\n See https://github.com/Pylons/pyramid_retry/pull/8\n\n- Add the ``IBeforeRetry`` event that can be subscribed to be notified\n when a retry is about to occur in order to perform cleanup on the\n ``environ``. See https://github.com/Pylons/pyramid_retry/pull/9\n\n0.3 (2017-04-10)\n================\n\n- Support a ``retry.activate_hook`` setting which can return a per-request\n number of retries. See https://github.com/Pylons/pyramid_retry/pull/4\n\n- Configuration is deferred so that settings may be changed after\n ``config.include('pyramid_retry')`` is invoked until the configurator\n is committed. See https://github.com/Pylons/pyramid_retry/pull/4\n\n- Rename the view predicates to ``last_retry_attempt`` and\n ``retryable_error``. See https://github.com/Pylons/pyramid_retry/pull/3\n\n- Rename ``pyramid_retry.is_exc_retryable`` to\n ``pyramid_retry.is_error_retryable``.\n See https://github.com/Pylons/pyramid_retry/pull/3\n\n0.2 (2017-03-02)\n================\n\n- Change the default attempts to 3 instead of 1.\n\n- Rename the view predicates to ``is_last_attempt`` and ``is_exc_retryable``.\n\n- Drop support for the ``tm.attempts`` setting.\n\n- The ``retry.attempts`` setting is always set now in\n ``registry.settings['retry.attempts']`` so that apps can inspect it.\n\n0.1 (2017-03-01)\n================\n\n- Initial release.\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "An execution policy for Pyramid that supports retrying requests after certain failure exceptions.",
"version": "2.1.1",
"project_urls": {
"Homepage": "https://github.com/Pylons/pyramid_retry"
},
"split_keywords": [
"pyramid",
"wsgi",
"retry",
"attempt"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b7a7b04390f36dcd0b117e023e4f980d6173da893b3c27f8b12ecd5dcc6fdb95",
"md5": "74b89ff442c084ad299c7e0dc695587e",
"sha256": "b5129a60eb9d7409234ea52839006426d2ae887b4a1f0530c75ec336cabf2476"
},
"downloads": -1,
"filename": "pyramid_retry-2.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "74b89ff442c084ad299c7e0dc695587e",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 6641,
"upload_time": "2020-03-21T21:01:05",
"upload_time_iso_8601": "2020-03-21T21:01:05.701918Z",
"url": "https://files.pythonhosted.org/packages/b7/a7/b04390f36dcd0b117e023e4f980d6173da893b3c27f8b12ecd5dcc6fdb95/pyramid_retry-2.1.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bf022a084e7bc8ca3c50b67c6a6d58598c5771d93399e9ff2aadf6aa29c1adcc",
"md5": "2cdad260f938b8b9fc2a5faf4a91736a",
"sha256": "baa8276ae68babad09e5f2f94efc4f7421f3b8fb526151df522052f8cd3ec0c9"
},
"downloads": -1,
"filename": "pyramid_retry-2.1.1.tar.gz",
"has_sig": false,
"md5_digest": "2cdad260f938b8b9fc2a5faf4a91736a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23266,
"upload_time": "2020-03-21T21:01:06",
"upload_time_iso_8601": "2020-03-21T21:01:06.900905Z",
"url": "https://files.pythonhosted.org/packages/bf/02/2a084e7bc8ca3c50b67c6a6d58598c5771d93399e9ff2aadf6aa29c1adcc/pyramid_retry-2.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2020-03-21 21:01:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Pylons",
"github_project": "pyramid_retry",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "pyramid-retry"
}