python-zulip-api/zulip/integrations/zephyr
Alex Vandiver a20c9cc6d7 zephyr: Use exponential backoffs in retry loops.
This reduces the number of retries that might spam APIs.

There is some complexity here which is left un-managed -- for
instance, maybe_restart_mirroring_script does a number of restart
attempts, and then fails, but will be retried every 15s by the
surrounding `process_loop`.  Previously, it would merely have looped
forever inside maybe_restart_mirroring_script.

Three loops are intentionally left as infinite `while True` loops,
that merely cap their backoff at the default 90s.  Their callers do
not expect, or have any way to handle more gracefully, a failure of
the expected-infinite-loop in `process_loop` or `zulip_to_zephyr`.
They maintain their previous behavior of retrying forever, albeit more
slowly.
2020-08-10 15:07:01 -07:00
..
check-mirroring cleanup: Remove unused imports. 2020-04-18 20:31:14 -07:00
process_ccache Modernize legacy Python 2 syntax with pyupgrade. 2020-04-18 15:04:36 -07:00
requirements.txt zulip package: Add requirements.txt for each integration. 2017-09-12 01:39:21 -07:00
sync-public-streams typing: Convert function type annotations to Python 3 style. 2020-04-18 20:31:14 -07:00
zephyr_mirror.py Update zulipchat.com links to zulip.com. 2020-06-11 21:06:58 -07:00
zephyr_mirror_backend.py zephyr: Use exponential backoffs in retry loops. 2020-08-10 15:07:01 -07:00
zmirror-renew-kerberos api: Move the API package to a dedicated subdirectory. 2017-07-18 02:20:32 -02:30
zmirror_private.conf.template zephyr_mirror: Move stamp_path to not be based on root_path. 2017-10-05 12:37:49 -07:00