Skip to content

Resolve "Lower celery beat max interval attempt to fix redis connection timeouts"

This MR lowers the CELERY_BEAT_MAX_LOOP_INTERVAL to 20 seconds. This means that RedBeat will check its schedule every 20 seconds and also check if it can acquire the distributed lock every 20 seconds. We hope that this will prevent the underlying redis connection from intermittently timing out as before it was 300 seconds between communications with redis.

Additionally I have made both of these env variables configurable via env variables of the same name if we in the future wish to change this without a release.

Testing Notes

  • Tasks are still being scheduled and running
  • If i manually start more redbeats they correctly wait to get the lock celery -A baserow beat -l INFO -S redbeat.RedBeatScheduler

Merge Request Checklist

  • changelog.md has been updated if required
  • Documentation has been updated
  • Quality Standards are met
  • The UI/UX has been updated following UI Style Guide
  • The redoc API pages have been updated for any REST API changes
  • The per database user API docs page has been updated for any REST API changes made to endpoints which can be accessed via a user created token
  • Has performance been considered and tested when appropriate? Ideally Baserow should be performant when working with hundreds of thousands of rows
  • New/Changed Premium features are separated correctly in the premium folder
  • There are tests for and it has been checked that any changed/new django ORM code is sensible, doesn't perform N queries and that table models are not generated needlessly or generated with all columns when only a few are needed.

Closes #576 (closed)

Edited by Nigel Gott

Merge request reports