Use Celery 4.x when running on Python 3

Review Request #11188 — Created Sept. 19, 2020 and submitted

david
ReviewBot
release-2.0.x
reviewbot

The support matrix between versions of Celery, Django, and Review Board
is tricky and complex. Celery 3.x, the version we were on, doesn't
support running on Python 3. Celery 4.x, which does support Python 3,
doesn't support Django 1.6.

This change makes us conditionally use Celery 4.x when running on Python
3, and Celery 3.x when on Python 2.7. The 3.x version is pinned to
3.1.25 or newer, which introduces a forward-compatible wire protocol
with 4.x. We therefore end up with this support matrix:

RB | Python | Django | Celery
------+--------+--------+------------
3.0.x | 2.7 | 1.6 | 3.1.25+, <4
4.0.x | 2.7 | 1.11 | 3.1.25+, <4
4.0.x | 3.6+ | 1.11 | 4.4+, <5

Configured and ran Review Bot with the server and worker running on
both Python 2.7 and 3.8. Saw that it worked with both the 3.1.25 and
4.4.7 versions of Celery.

Summary
Use Celery 4.x when running on Python 3
Description From Last Updated

You can just do "2.7".

chipx86chipx86

You can just do "2.7".

chipx86chipx86
chipx86
  1. That was a smaller change than I expected.

  2. bot/setup.py (Diff revision 1)
     
     

    You can just do "2.7".

  3. extension/setup.py (Diff revision 1)
     
     

    You can just do "2.7".

  4. 
      
david
chipx86
  1. Ship It!
  2. 
      
david
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-2.0.x (cb09372)
Loading...