<h1 dir="auto">Checklist</h1>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery. (v5.0.2)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> This has already been asked to the <a href="https://groups.google.com/forum/#!forum/celery-users" rel="nofollow">discussion group</a> first.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the relevant section in the<br>
<a href="http://docs.celeryproject.org/en/latest/contributing.html#other-bugs" rel="nofollow">contribution guide</a><br>
on reporting bugs.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/issues?q=is%3Aissue+label%3A%22Issue+Type%3A+Bug+Report%22+-label%3A%22Category%3A+Documentation%22">issues list</a><br>
for similar or identical bug reports.</li>
<li>[x ] I have checked the <a href="https://github.com/celery/celery/pulls?q=is%3Apr+label%3A%22PR+Type%3A+Bugfix%22+-label%3A%22Category%3A+Documentation%22">pull requests list</a><br>
for existing proposed fixes.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/commits/master">commit log</a><br>
to find out if the bug was already fixed in the master branch.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all related issues and possible duplicate issues<br>
in this issue (If there are none, check this box anyway).</li>
</ul>
<h2 dir="auto">Mandatory Debugging Information</h2>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the output of <code class="notranslate">celery -A proj report</code> in the issue.<br>
(if you are not able to do this, then at least specify the Celery<br>
version affected).</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the contents of <code class="notranslate">pip freeze</code> in the issue.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all the versions of all the external dependencies required<br>
to reproduce this bug.</li>
</ul>
<h2 dir="auto">Optional Debugging Information</h2>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one Python version<br>
and/or implementation.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one message broker and/or<br>
result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one version of the message<br>
broker and/or result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one operating system.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have tried reproducing the issue on more than one workers pool.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue with autoscaling, retries,<br>
ETA/Countdown &amp; rate limits disabled.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue after downgrading<br>
and/or upgrading Celery and its dependencies.</li>
</ul>
<h2 dir="auto">Related Issues and Possible Duplicates</h2>

<h4 dir="auto">Related Issues</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h4 dir="auto">Possible Duplicates</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h2 dir="auto">Environment &amp; Settings</h2>

<p dir="auto"><strong>Celery version</strong>: 5.0.2</p>

<details>
<summary><b><code class="notranslate">celery report</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="software -&gt; celery:5.0.2 (singularity) kombu:5.0.2 py:3.6.9
            billiard:3.6.3.0 redis:3.5.3
platform -&gt; system:Linux arch:64bit, ELF
            kernel version:5.4.0-53-generic imp:CPython
loader   -&gt; celery.loaders.app.AppLoader
settings -&gt; transport:redis results:redis://localhost/

broker_url: 'redis://localhost:6379//'
result_backend: 'redis://localhost/'
deprecated_settings: None
result_extended: True
"><pre class="notranslate"><code class="notranslate">software -&gt; celery:5.0.2 (singularity) kombu:5.0.2 py:3.6.9
            billiard:3.6.3.0 redis:3.5.3
platform -&gt; system:Linux arch:64bit, ELF
            kernel version:5.4.0-53-generic imp:CPython
loader   -&gt; celery.loaders.app.AppLoader
settings -&gt; transport:redis results:redis://localhost/

broker_url: 'redis://localhost:6379//'
result_backend: 'redis://localhost/'
deprecated_settings: None
result_extended: True

</code></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Steps to Reproduce</h1>
<h2 dir="auto">Required Dependencies</h2>

<ul dir="auto">
<li>
<p dir="auto"><strong>Minimal Python Version</strong>: 3.6.9</p>
</li>
<li>
<p dir="auto"><strong>Minimal Celery Version</strong>: 5.0.2</p>
</li>
<li>
<p dir="auto"><strong>Minimal Kombu Version</strong>: 5.0.2</p>
</li>
<li>
<p dir="auto"><strong>Minimal Broker Version</strong>: Redis server v=6.0.8 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=75cef67090587c6</p>
</li>
<li>
<p dir="auto"><strong>Minimal Result Backend Version</strong>: Redis server v=6.0.8 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=75cef67090587c6</p>
</li>
<li>
<p dir="auto"><strong>Minimal OS and/or Kernel Version</strong>: Linux Machine 5.4.0-53-generic <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="100857" data-permission-text="Title is private" data-url="https://github.com/celery/celery/issues/59" data-hovercard-type="issue" data-hovercard-url="/celery/celery/issues/59/hovercard" href="https://github.com/celery/celery/issues/59">#59</a>~18.04.1-Ubuntu SMP Wed Oct 21 12:14:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux</p>
</li>
<li>
<p dir="auto"><strong>Minimal Broker Client Version</strong>: N/A or Unknown</p>
</li>
<li>
<p dir="auto"><strong>Minimal Result Backend Client Version</strong>: N/A or Unknown</p>
</li>
</ul>
<h3 dir="auto">Python Packages</h3>

<details>
<summary><b><code class="notranslate">pip freeze</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="aioredis==1.3.1
alabaster==0.7.8
amqp==5.0.2
appdirs==1.4.4
apturl==0.5.2
argon2-cffi==20.1.0
asgiref==3.3.1
asn1crypto==0.24.0
astroid==1.6.0
async-generator==1.10
async-timeout==3.0.1
attrs==20.2.0
autobahn==20.7.1
Automat==20.2.0
Babel==2.3.4
backcall==0.2.0
beautifulsoup4==4.9.0
billiard==3.6.3.0
black==20.8b1
bleach==3.2.1
blinker==1.4
Brlapi==0.6.6
bs4==0.0.1
celery==5.0.2
certifi==2020.6.20
cffi==1.14.3
channels==2.4.0
channels-redis==3.1.0
chardet==3.0.4
click==7.1.2
click-didyoumean==0.0.3
click-repl==0.1.6
cloudpickle==0.5.2
colorama==0.4.3
colored==1.4.2
command-not-found==0.3
constantly==15.1.0
cryptography==3.1.1
cupshelpers==1.0
cycler==0.10.0
daphne==2.5.0
dataclasses==0.8
decorator==4.4.2
defer==1.0.6
defusedxml==0.6.0
distlib==0.3.1
distro==1.5.0
distro-info===0.18ubuntu0.18.04.1
Django==3.1.3
django-allauth==0.42.0
django-automated-logging==6.0.0
django-cors-headers==3.5.0
django-filter==2.4.0
django-ipware==3.0.2
django-picklefield==3.0.1
django-rest-auth==0.9.5
djangorestframework==3.12.1
docutils==0.12
elasticsearch==7.9.1
entrypoints==0.3
fastapi==0.61.2
feedparser==5.2.1
filelock==3.0.12
Flask==1.1.2
Flask-Cors==3.0.8
future==0.18.2
greenlet==0.4.12
h11==0.11.0
hiredis==1.1.0
html5lib==0.999999999
httpie==0.9.8
httplib2==0.9.2
hyperlink==20.0.1
idna==2.10
imagesize==0.7.1
importlib-metadata==2.0.0
importlib-resources==3.0.0
incremental==17.5.0
ipykernel==5.3.4
ipython==7.16.1
ipython-genutils==0.2.0
isort==4.3.4
itsdangerous==1.1.0
jedi==0.17.2
Jinja2==2.11.2
joblib==0.17.0
json5==0.9.5
jsonschema==3.2.0
jupyter-client==6.1.7
jupyter-core==4.6.3
jupyterlab==2.2.9
jupyterlab-pygments==0.1.2
jupyterlab-server==1.2.0
kafka-python==2.0.2
keyring==10.6.0
keyrings.alt==3.0
kiwisolver==1.3.1
kombu==5.0.2
language-selector==0.1
launchpadlib==1.10.6
lazr.restfulclient==0.13.5
lazr.uri==1.0.3
lazy-object-proxy==1.3.1
logilab-common==1.4.1
louis==3.5.0
lxml==4.5.0
macaroonbakery==1.1.3
Mako==1.0.7
Markdown==3.3
MarkupSafe==1.1.1
marshmallow==3.9.1
matplotlib==3.3.3
mccabe==0.6.1
mistune==0.8.4
msgpack==1.0.0
mypy-extensions==0.4.3
nbclient==0.5.1
nbconvert==6.0.7
nbformat==5.0.8
neovim==0.2.0
nest-asyncio==1.4.2
netifaces==0.10.9
notebook==6.1.4
numpy==1.19.4
numpydoc==0.7.0
oauth==1.0.1
oauthlib==3.1.0
olefile==0.45.1
packaging==20.4
pandas==1.0.3
pandocfilters==1.4.3
parso==0.7.1
pathspec==0.8.0
pexpect==4.8.0
pickleshare==0.7.5
Pillow==8.0.1
prometheus-client==0.8.0
prompt-toolkit==3.0.8
protobuf==3.0.0
psutil==5.4.2
ptk==1.3.8
ptyprocess==0.6.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycairo==1.16.2
pycodestyle==2.3.1
pycparser==2.20
pycrypto==2.6.1
pycups==1.9.73
pydantic==1.7.2
pyflakes==1.6.0
Pygments==2.7.2
pygobject==3.26.1
PyHamcrest==2.0.2
PyJWT==1.5.3
pylint==1.8.3
pymacaroons==0.13.0
PyNaCl==1.1.2
pyOpenSSL==19.1.0
pyparsing==2.4.7
pyRFC3339==1.0
pyrsistent==0.17.3
PySocks==1.7.1
python-apt==1.6.5+ubuntu0.3
python-dateutil==2.8.1
python-debian==0.1.32
python-slugify==4.0.1
python3-openid==3.2.0
pytz==2020.4
pyxdg==0.25
PyYAML==3.12
pyzmq==19.0.2
QtAwesome==0.4.4
qtconsole==4.3.1
QtPy==1.3.1
redis==3.5.3
regex==2020.7.14
reportlab==3.4.0
requests==2.24.0
requests-futures==1.0.0
requests-oauthlib==1.3.0
requests-unixsocket==0.1.5
roman==2.0.0
rope==0.10.5
scikit-learn==0.23.2
scipy==1.5.4
screen-resolution-extra==0.0.0
SecretStorage==2.3.1
Send2Trash==1.5.0
service-identity==18.1.0
simplegeneric==0.8.1
simplejson==3.13.2
six==1.15.0
soupsieve==2.0
Sphinx==1.6.7
spyder==3.2.6
sqlparse==0.4.1
starlette==0.13.6
stem==1.8.0
system-service==0.3
systemd-python==234
terminado==0.9.1
testpath==0.4.4
text-unidecode==1.3
threadpoolctl==2.1.0
toml==0.10.1
torch==1.7.0
torchvision==0.8.1
tornado==6.1
torrequest==0.1.0
traitlets==4.3.3
Twisted==20.3.0
txaio==20.4.1
typed-ast==1.4.1
typing-extensions==3.7.4.3
ubuntu-drivers-common==0.0.0
ufw==0.36
unattended-upgrades==0.1
unity-scope-calculator==0.1
unity-scope-chromiumbookmarks==0.1
unity-scope-colourlovers==0.1
unity-scope-devhelp==0.1
unity-scope-firefoxbookmarks==0.1
unity-scope-manpages==0.1
unity-scope-openclipart==0.1
unity-scope-texdoc==0.1
unity-scope-tomboy==0.1
unity-scope-virtualbox==0.1
unity-scope-yelp==0.1
unity-scope-zotero==0.1
unity-tweak-tool==0.0.7
urllib3==1.25.11
usb-creator==0.3.3
uvicorn==0.12.2
vine==5.0.0
virtualenv==20.0.35
wadllib==1.3.2
wcwidth==0.2.5
webencodings==0.5.1
websocket-client==0.57.0
websockets==8.1
Werkzeug==1.0.1
wrapt==1.9.0
xkit==0.0.0
xonsh==0.9.24
zipp==3.4.0
zope.interface==5.1.2

"><pre class="notranslate"><code class="notranslate">aioredis==1.3.1
alabaster==0.7.8
amqp==5.0.2
appdirs==1.4.4
apturl==0.5.2
argon2-cffi==20.1.0
asgiref==3.3.1
asn1crypto==0.24.0
astroid==1.6.0
async-generator==1.10
async-timeout==3.0.1
attrs==20.2.0
autobahn==20.7.1
Automat==20.2.0
Babel==2.3.4
backcall==0.2.0
beautifulsoup4==4.9.0
billiard==3.6.3.0
black==20.8b1
bleach==3.2.1
blinker==1.4
Brlapi==0.6.6
bs4==0.0.1
celery==5.0.2
certifi==2020.6.20
cffi==1.14.3
channels==2.4.0
channels-redis==3.1.0
chardet==3.0.4
click==7.1.2
click-didyoumean==0.0.3
click-repl==0.1.6
cloudpickle==0.5.2
colorama==0.4.3
colored==1.4.2
command-not-found==0.3
constantly==15.1.0
cryptography==3.1.1
cupshelpers==1.0
cycler==0.10.0
daphne==2.5.0
dataclasses==0.8
decorator==4.4.2
defer==1.0.6
defusedxml==0.6.0
distlib==0.3.1
distro==1.5.0
distro-info===0.18ubuntu0.18.04.1
Django==3.1.3
django-allauth==0.42.0
django-automated-logging==6.0.0
django-cors-headers==3.5.0
django-filter==2.4.0
django-ipware==3.0.2
django-picklefield==3.0.1
django-rest-auth==0.9.5
djangorestframework==3.12.1
docutils==0.12
elasticsearch==7.9.1
entrypoints==0.3
fastapi==0.61.2
feedparser==5.2.1
filelock==3.0.12
Flask==1.1.2
Flask-Cors==3.0.8
future==0.18.2
greenlet==0.4.12
h11==0.11.0
hiredis==1.1.0
html5lib==0.999999999
httpie==0.9.8
httplib2==0.9.2
hyperlink==20.0.1
idna==2.10
imagesize==0.7.1
importlib-metadata==2.0.0
importlib-resources==3.0.0
incremental==17.5.0
ipykernel==5.3.4
ipython==7.16.1
ipython-genutils==0.2.0
isort==4.3.4
itsdangerous==1.1.0
jedi==0.17.2
Jinja2==2.11.2
joblib==0.17.0
json5==0.9.5
jsonschema==3.2.0
jupyter-client==6.1.7
jupyter-core==4.6.3
jupyterlab==2.2.9
jupyterlab-pygments==0.1.2
jupyterlab-server==1.2.0
kafka-python==2.0.2
keyring==10.6.0
keyrings.alt==3.0
kiwisolver==1.3.1
kombu==5.0.2
language-selector==0.1
launchpadlib==1.10.6
lazr.restfulclient==0.13.5
lazr.uri==1.0.3
lazy-object-proxy==1.3.1
logilab-common==1.4.1
louis==3.5.0
lxml==4.5.0
macaroonbakery==1.1.3
Mako==1.0.7
Markdown==3.3
MarkupSafe==1.1.1
marshmallow==3.9.1
matplotlib==3.3.3
mccabe==0.6.1
mistune==0.8.4
msgpack==1.0.0
mypy-extensions==0.4.3
nbclient==0.5.1
nbconvert==6.0.7
nbformat==5.0.8
neovim==0.2.0
nest-asyncio==1.4.2
netifaces==0.10.9
notebook==6.1.4
numpy==1.19.4
numpydoc==0.7.0
oauth==1.0.1
oauthlib==3.1.0
olefile==0.45.1
packaging==20.4
pandas==1.0.3
pandocfilters==1.4.3
parso==0.7.1
pathspec==0.8.0
pexpect==4.8.0
pickleshare==0.7.5
Pillow==8.0.1
prometheus-client==0.8.0
prompt-toolkit==3.0.8
protobuf==3.0.0
psutil==5.4.2
ptk==1.3.8
ptyprocess==0.6.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycairo==1.16.2
pycodestyle==2.3.1
pycparser==2.20
pycrypto==2.6.1
pycups==1.9.73
pydantic==1.7.2
pyflakes==1.6.0
Pygments==2.7.2
pygobject==3.26.1
PyHamcrest==2.0.2
PyJWT==1.5.3
pylint==1.8.3
pymacaroons==0.13.0
PyNaCl==1.1.2
pyOpenSSL==19.1.0
pyparsing==2.4.7
pyRFC3339==1.0
pyrsistent==0.17.3
PySocks==1.7.1
python-apt==1.6.5+ubuntu0.3
python-dateutil==2.8.1
python-debian==0.1.32
python-slugify==4.0.1
python3-openid==3.2.0
pytz==2020.4
pyxdg==0.25
PyYAML==3.12
pyzmq==19.0.2
QtAwesome==0.4.4
qtconsole==4.3.1
QtPy==1.3.1
redis==3.5.3
regex==2020.7.14
reportlab==3.4.0
requests==2.24.0
requests-futures==1.0.0
requests-oauthlib==1.3.0
requests-unixsocket==0.1.5
roman==2.0.0
rope==0.10.5
scikit-learn==0.23.2
scipy==1.5.4
screen-resolution-extra==0.0.0
SecretStorage==2.3.1
Send2Trash==1.5.0
service-identity==18.1.0
simplegeneric==0.8.1
simplejson==3.13.2
six==1.15.0
soupsieve==2.0
Sphinx==1.6.7
spyder==3.2.6
sqlparse==0.4.1
starlette==0.13.6
stem==1.8.0
system-service==0.3
systemd-python==234
terminado==0.9.1
testpath==0.4.4
text-unidecode==1.3
threadpoolctl==2.1.0
toml==0.10.1
torch==1.7.0
torchvision==0.8.1
tornado==6.1
torrequest==0.1.0
traitlets==4.3.3
Twisted==20.3.0
txaio==20.4.1
typed-ast==1.4.1
typing-extensions==3.7.4.3
ubuntu-drivers-common==0.0.0
ufw==0.36
unattended-upgrades==0.1
unity-scope-calculator==0.1
unity-scope-chromiumbookmarks==0.1
unity-scope-colourlovers==0.1
unity-scope-devhelp==0.1
unity-scope-firefoxbookmarks==0.1
unity-scope-manpages==0.1
unity-scope-openclipart==0.1
unity-scope-texdoc==0.1
unity-scope-tomboy==0.1
unity-scope-virtualbox==0.1
unity-scope-yelp==0.1
unity-scope-zotero==0.1
unity-tweak-tool==0.0.7
urllib3==1.25.11
usb-creator==0.3.3
uvicorn==0.12.2
vine==5.0.0
virtualenv==20.0.35
wadllib==1.3.2
wcwidth==0.2.5
webencodings==0.5.1
websocket-client==0.57.0
websockets==8.1
Werkzeug==1.0.1
wrapt==1.9.0
xkit==0.0.0
xonsh==0.9.24
zipp==3.4.0
zope.interface==5.1.2


</code></pre></div>
<p dir="auto"></p>
</details>
<h3 dir="auto">Other Dependencies</h3>

<details>
<p dir="auto">
N/A
</p>
</details>
<h2 dir="auto">Minimally Reproducible Test Case</h2>

<details>
<p dir="auto">
</p><div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## tasks.py
from celery import Celery
import os
from time import sleep
redis_url = os.getenv(&quot;REDIS_URL&quot;, default=&quot;redis://localhost&quot;)

app = Celery('tasks', backend=redis_url, broker=redis_url)

app.conf.update(
   result_extended=True
)

@app.task(bind=True)
def dyn_sleeper(self,s):
    print('Executing task id {0.id}, args: {0.args!r} kwargs: {0.kwargs!r}'.format(
            self.request))
    sleep(s)
    return s
"><pre class="notranslate"><span class="pl-c">## tasks.py</span>
<span class="pl-k">from</span> <span class="pl-s1">celery</span> <span class="pl-k">import</span> <span class="pl-v">Celery</span>
<span class="pl-k">import</span> <span class="pl-s1">os</span>
<span class="pl-k">from</span> <span class="pl-s1">time</span> <span class="pl-k">import</span> <span class="pl-s1">sleep</span>
<span class="pl-s1">redis_url</span> <span class="pl-c1">=</span> <span class="pl-s1">os</span>.<span class="pl-en">getenv</span>(<span class="pl-s">"REDIS_URL"</span>, <span class="pl-s1">default</span><span class="pl-c1">=</span><span class="pl-s">"redis://localhost"</span>)

<span class="pl-s1">app</span> <span class="pl-c1">=</span> <span class="pl-v">Celery</span>(<span class="pl-s">'tasks'</span>, <span class="pl-s1">backend</span><span class="pl-c1">=</span><span class="pl-s1">redis_url</span>, <span class="pl-s1">broker</span><span class="pl-c1">=</span><span class="pl-s1">redis_url</span>)

<span class="pl-s1">app</span>.<span class="pl-s1">conf</span>.<span class="pl-en">update</span>(
   <span class="pl-s1">result_extended</span><span class="pl-c1">=</span><span class="pl-c1">True</span>
)

<span class="pl-en">@<span class="pl-s1">app</span>.<span class="pl-en">task</span>(<span class="pl-s1">bind</span><span class="pl-c1">=</span><span class="pl-c1">True</span>)</span>
<span class="pl-k">def</span> <span class="pl-en">dyn_sleeper</span>(<span class="pl-s1">self</span>,<span class="pl-s1">s</span>):
    <span class="pl-en">print</span>(<span class="pl-s">'Executing task id {0.id}, args: {0.args!r} kwargs: {0.kwargs!r}'</span>.<span class="pl-en">format</span>(
            <span class="pl-s1">self</span>.<span class="pl-s1">request</span>))
    <span class="pl-en">sleep</span>(<span class="pl-s1">s</span>)
    <span class="pl-k">return</span> <span class="pl-s1">s</span></pre></div>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## producer.py
from test import dyn_sleeper 
from time import sleep


task_list = []

for i in range(5, 15, 2):
    print(&quot;example task initiated, SLEEP:&quot;,i)
    task_list.append(dyn_sleeper.delay(i))



print(&quot;num of tasks:&quot;, len(task_list))

while True:
    completed_tasks = [task for task in task_list if task.ready() ]
    if len(completed_tasks) ==len(task_list):
        print(&quot;All tasks finished.&quot;)
        for c in task_list:
            print(&quot;&gt;&gt; &quot;,c.name, c.args,&quot; :&quot;, c.result)
        break
    print(&quot;There is&quot;, len(completed_tasks), &quot;completed tasks out of&quot;, len(task_list), &quot;tasks&quot;)
    print(&quot;&gt;&gt; &quot;, len(completed_tasks)/len(task_list)*100)
    sleep(1)
    
sleep(10)

"><pre class="notranslate"><span class="pl-c">## producer.py</span>
<span class="pl-k">from</span> <span class="pl-s1">test</span> <span class="pl-k">import</span> <span class="pl-s1">dyn_sleeper</span> 
<span class="pl-k">from</span> <span class="pl-s1">time</span> <span class="pl-k">import</span> <span class="pl-s1">sleep</span>


<span class="pl-s1">task_list</span> <span class="pl-c1">=</span> []

<span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">in</span> <span class="pl-en">range</span>(<span class="pl-c1">5</span>, <span class="pl-c1">15</span>, <span class="pl-c1">2</span>):
    <span class="pl-en">print</span>(<span class="pl-s">"example task initiated, SLEEP:"</span>,<span class="pl-s1">i</span>)
    <span class="pl-s1">task_list</span>.<span class="pl-en">append</span>(<span class="pl-s1">dyn_sleeper</span>.<span class="pl-en">delay</span>(<span class="pl-s1">i</span>))



<span class="pl-en">print</span>(<span class="pl-s">"num of tasks:"</span>, <span class="pl-en">len</span>(<span class="pl-s1">task_list</span>))

<span class="pl-k">while</span> <span class="pl-c1">True</span>:
    <span class="pl-s1">completed_tasks</span> <span class="pl-c1">=</span> [<span class="pl-s1">task</span> <span class="pl-k">for</span> <span class="pl-s1">task</span> <span class="pl-c1">in</span> <span class="pl-s1">task_list</span> <span class="pl-k">if</span> <span class="pl-s1">task</span>.<span class="pl-en">ready</span>() ]
    <span class="pl-k">if</span> <span class="pl-en">len</span>(<span class="pl-s1">completed_tasks</span>) <span class="pl-c1">==</span><span class="pl-en">len</span>(<span class="pl-s1">task_list</span>):
        <span class="pl-en">print</span>(<span class="pl-s">"All tasks finished."</span>)
        <span class="pl-k">for</span> <span class="pl-s1">c</span> <span class="pl-c1">in</span> <span class="pl-s1">task_list</span>:
            <span class="pl-en">print</span>(<span class="pl-s">"&gt;&gt; "</span>,<span class="pl-s1">c</span>.<span class="pl-s1">name</span>, <span class="pl-s1">c</span>.<span class="pl-s1">args</span>,<span class="pl-s">" :"</span>, <span class="pl-s1">c</span>.<span class="pl-s1">result</span>)
        <span class="pl-k">break</span>
    <span class="pl-en">print</span>(<span class="pl-s">"There is"</span>, <span class="pl-en">len</span>(<span class="pl-s1">completed_tasks</span>), <span class="pl-s">"completed tasks out of"</span>, <span class="pl-en">len</span>(<span class="pl-s1">task_list</span>), <span class="pl-s">"tasks"</span>)
    <span class="pl-en">print</span>(<span class="pl-s">"&gt;&gt; "</span>, <span class="pl-en">len</span>(<span class="pl-s1">completed_tasks</span>)<span class="pl-c1">/</span><span class="pl-en">len</span>(<span class="pl-s1">task_list</span>)<span class="pl-c1">*</span><span class="pl-c1">100</span>)
    <span class="pl-en">sleep</span>(<span class="pl-c1">1</span>)
    
<span class="pl-en">sleep</span>(<span class="pl-c1">10</span>)
</pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Expected Behavior</h1>

<p dir="auto">Exit without an error</p>
<h1 dir="auto">Actual Behavior</h1>

<p dir="auto">I have a tasks like this</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## celery -A tasks worker -l INFO --concurrency=6
@app.task(bind=True)
def dyn_sleeper(self,s):
    print('Executing task id {0.id}, args: {0.args!r} kwargs: {0.kwargs!r}'.format(
            self.request))
    sleep(s)
    return s"><pre class="notranslate"><span class="pl-c">## celery -A tasks worker -l INFO --concurrency=6</span>
<span class="pl-en">@<span class="pl-s1">app</span>.<span class="pl-en">task</span>(<span class="pl-s1">bind</span><span class="pl-c1">=</span><span class="pl-c1">True</span>)</span>
<span class="pl-k">def</span> <span class="pl-en">dyn_sleeper</span>(<span class="pl-s1">self</span>,<span class="pl-s1">s</span>):
    <span class="pl-en">print</span>(<span class="pl-s">'Executing task id {0.id}, args: {0.args!r} kwargs: {0.kwargs!r}'</span>.<span class="pl-en">format</span>(
            <span class="pl-s1">self</span>.<span class="pl-s1">request</span>))
    <span class="pl-en">sleep</span>(<span class="pl-s1">s</span>)
    <span class="pl-k">return</span> <span class="pl-s1">s</span></pre></div>
<p dir="auto">When I start celery and run the task like this:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## producer.py
task_list = []

for i in range(5, 35, 2):
    print(&quot;example task initiated, SLEEP:&quot;,i)
    task_list.append(dyn_sleeper.delay(i))
"><pre class="notranslate"><span class="pl-c">## producer.py</span>
<span class="pl-s1">task_list</span> <span class="pl-c1">=</span> []

<span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">in</span> <span class="pl-en">range</span>(<span class="pl-c1">5</span>, <span class="pl-c1">35</span>, <span class="pl-c1">2</span>):
    <span class="pl-en">print</span>(<span class="pl-s">"example task initiated, SLEEP:"</span>,<span class="pl-s1">i</span>)
    <span class="pl-s1">task_list</span>.<span class="pl-en">append</span>(<span class="pl-s1">dyn_sleeper</span>.<span class="pl-en">delay</span>(<span class="pl-s1">i</span>))</pre></div>
<p dir="auto">I also check if all task finished:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="## producer.py
while True:
    completed_tasks = [task for task in task_list if task.ready() ]
    if len(completed_tasks) ==len(task_list):
        print(&quot;All tasks finished.&quot;)
        for c in task_list:
            print(&quot;&gt;&gt; &quot;,c.name, c.args,&quot; :&quot;, c.result)
        break
    print(&quot;There is&quot;, len(completed_tasks), &quot;completed tasks out of&quot;, len(task_list), &quot;tasks&quot;)
    sleep(1)"><pre class="notranslate"><span class="pl-c">## producer.py</span>
<span class="pl-k">while</span> <span class="pl-c1">True</span>:
    <span class="pl-s1">completed_tasks</span> <span class="pl-c1">=</span> [<span class="pl-s1">task</span> <span class="pl-k">for</span> <span class="pl-s1">task</span> <span class="pl-c1">in</span> <span class="pl-s1">task_list</span> <span class="pl-k">if</span> <span class="pl-s1">task</span>.<span class="pl-en">ready</span>() ]
    <span class="pl-k">if</span> <span class="pl-en">len</span>(<span class="pl-s1">completed_tasks</span>) <span class="pl-c1">==</span><span class="pl-en">len</span>(<span class="pl-s1">task_list</span>):
        <span class="pl-en">print</span>(<span class="pl-s">"All tasks finished."</span>)
        <span class="pl-k">for</span> <span class="pl-s1">c</span> <span class="pl-c1">in</span> <span class="pl-s1">task_list</span>:
            <span class="pl-en">print</span>(<span class="pl-s">"&gt;&gt; "</span>,<span class="pl-s1">c</span>.<span class="pl-s1">name</span>, <span class="pl-s1">c</span>.<span class="pl-s1">args</span>,<span class="pl-s">" :"</span>, <span class="pl-s1">c</span>.<span class="pl-s1">result</span>)
        <span class="pl-k">break</span>
    <span class="pl-en">print</span>(<span class="pl-s">"There is"</span>, <span class="pl-en">len</span>(<span class="pl-s1">completed_tasks</span>), <span class="pl-s">"completed tasks out of"</span>, <span class="pl-en">len</span>(<span class="pl-s1">task_list</span>), <span class="pl-s">"tasks"</span>)
    <span class="pl-en">sleep</span>(<span class="pl-c1">1</span>)</pre></div>
<p dir="auto">Everything works fine but after the producer.py finishes I get an error. I complete all the tasks but I just get this error while I exit from producer.py.</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="Traceback (most recent call last):
  File &quot;/home/username/.local/lib/python3.6/site-packages/celery/result.py&quot;, line 391, in __del__
  File &quot;/home/username/.local/lib/python3.6/site-packages/celery/backends/asynchronous.py&quot;, line 186, in remove_pending_result
  File &quot;/home/username/.local/lib/python3.6/site-packages/celery/backends/asynchronous.py&quot;, line 194, in on_result_fulfilled
  File &quot;/home/username/.local/lib/python3.6/site-packages/celery/backends/redis.py&quot;, line 174, in cancel_for
  File &quot;/home/username/.local/lib/python3.6/site-packages/redis/client.py&quot;, line 3600, in unsubscribe
  File &quot;/home/username/.local/lib/python3.6/site-packages/redis/client.py&quot;, line 3468, in execute_command
  File &quot;/home/username/.local/lib/python3.6/site-packages/redis/connection.py&quot;, line 1192, in get_connection
  File &quot;/home/username/.local/lib/python3.6/site-packages/redis/connection.py&quot;, line 567, in connect
  File &quot;/home/username/.local/lib/python3.6/site-packages/redis/connection.py&quot;, line 630, in on_connect
  File &quot;/home/username/.local/lib/python3.6/site-packages/redis/connection.py&quot;, line 401, in on_connect
ImportError: sys.meta_path is None, Python is likely shutting down"><pre class="notranslate"><span class="pl-v">Traceback</span> (<span class="pl-s1">most</span> <span class="pl-s1">recent</span> <span class="pl-s1">call</span> <span class="pl-s1">last</span>):
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/celery/result.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">391</span>, <span class="pl-s1">in</span> <span class="pl-s1">__del__</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/celery/backends/asynchronous.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">186</span>, <span class="pl-s1">in</span> <span class="pl-s1">remove_pending_result</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/celery/backends/asynchronous.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">194</span>, <span class="pl-s1">in</span> <span class="pl-s1">on_result_fulfilled</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/celery/backends/redis.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">174</span>, <span class="pl-s1">in</span> <span class="pl-s1">cancel_for</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/redis/client.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">3600</span>, <span class="pl-s1">in</span> <span class="pl-s1">unsubscribe</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/redis/client.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">3468</span>, <span class="pl-s1">in</span> <span class="pl-s1">execute_command</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/redis/connection.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">1192</span>, <span class="pl-s1">in</span> <span class="pl-s1">get_connection</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/redis/connection.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">567</span>, <span class="pl-s1">in</span> <span class="pl-s1">connect</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/redis/connection.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">630</span>, <span class="pl-s1">in</span> <span class="pl-s1">on_connect</span>
  <span class="pl-v">File</span> <span class="pl-s">"/home/username/.local/lib/python3.6/site-packages/redis/connection.py"</span>, <span class="pl-s1">line</span> <span class="pl-c1">401</span>, <span class="pl-s1">in</span> <span class="pl-s1">on_connect</span>
<span class="pl-v">ImportError</span>: <span class="pl-s1">sys</span>.<span class="pl-s1">meta_path</span> <span class="pl-c1">is</span> <span class="pl-c1">None</span>, <span class="pl-v">Python</span> <span class="pl-c1">is</span> <span class="pl-s1">likely</span> <span class="pl-s1">shutting</span> <span class="pl-s1">down</span></pre></div>
<p dir="auto">Weird thing is if, I don't use the loop above I don't get an error. Also if I don't use many tasks (tasks less than 20) again I don't get an error.</p>
<h1 dir="auto">Checklist</h1>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> This has already been asked to the <a href="https://github.com/celery/celery/discussions">discussions forum</a> first.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the relevant section in the<br>
<a href="http://docs.celeryproject.org/en/latest/contributing.html#other-bugs" rel="nofollow">contribution guide</a><br>
on reporting bugs.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/issues?q=is%3Aissue+label%3A%22Issue+Type%3A+Bug+Report%22+-label%3A%22Category%3A+Documentation%22">issues list</a><br>
for similar or identical bug reports.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/pulls?q=is%3Apr+label%3A%22PR+Type%3A+Bugfix%22+-label%3A%22Category%3A+Documentation%22">pull requests list</a><br>
for existing proposed fixes.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/commits/master">commit log</a><br>
to find out if the bug was already fixed in the master branch.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all related issues and possible duplicate issues<br>
in this issue (If there are none, check this box anyway).</li>
</ul>
<h2 dir="auto">Mandatory Debugging Information</h2>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the output of <code class="notranslate">celery -A proj report</code> in the issue.<br>
(if you are not able to do this, then at least specify the Celery<br>
version affected).</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the contents of <code class="notranslate">pip freeze</code> in the issue.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all the versions of all the external dependencies required<br>
to reproduce this bug.</li>
</ul>
<h2 dir="auto">Optional Debugging Information</h2>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one Python version<br>
and/or implementation.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one message broker and/or<br>
result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one version of the message<br>
broker and/or result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one operating system.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one workers pool.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue with autoscaling, retries,<br>
ETA/Countdown &amp; rate limits disabled.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue after downgrading<br>
and/or upgrading Celery and its dependencies.</li>
</ul>
<h2 dir="auto">Related Issues and Possible Duplicates</h2>

<h4 dir="auto">Related Issues</h4>
<p dir="auto"><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="670997396" data-permission-text="Title is private" data-url="https://github.com/celery/celery/issues/6271" data-hovercard-type="pull_request" data-hovercard-url="/celery/celery/pull/6271/hovercard" href="https://github.com/celery/celery/pull/6271">#6271</a></p>
<h4 dir="auto">Possible Duplicates</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h2 dir="auto">Environment &amp; Settings</h2>

<p dir="auto"><strong>Celery version</strong>:</p>

<details>
<summary><b><code class="notranslate">celery report</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=""><pre class="notranslate"><code class="notranslate">
</code></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Steps to Reproduce</h1>
<h2 dir="auto">Required Dependencies</h2>

<ul dir="auto">
<li><strong>Minimal Python Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Celery Version</strong>: 5.2</li>
<li><strong>Minimal Kombu Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Broker Version</strong>: SQS</li>
<li><strong>Minimal Result Backend Version</strong>: N/A or Unknown</li>
<li><strong>Minimal OS and/or Kernel Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Broker Client Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Result Backend Client Version</strong>: N/A or Unknown</li>
</ul>
<h3 dir="auto">Python Packages</h3>

<details>
<summary><b><code class="notranslate">pip freeze</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=""><pre class="notranslate"><code class="notranslate">
</code></pre></div>
<p dir="auto"></p>
</details>
<h3 dir="auto">Other Dependencies</h3>

<details>
<p dir="auto">
N/A
</p>
</details>
<h2 dir="auto">Minimally Reproducible Test Case</h2>

<details>
<p dir="auto">
</p><div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content=""><pre class="notranslate"></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Expected Behavior</h1>

<p dir="auto">Using <a href="https://github.com/jazzband/pip-tools">pip-tools</a> to compile a requirements.txt should include the locked dependencies for the sqs-backend.<br>
For example using this requirements.in file:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="celery[sqs]"><pre class="notranslate"><code class="notranslate">celery[sqs]
</code></pre></div>
<p dir="auto">Compiled to a requirements.txt by:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="pip-compile --generate-hashes --output-file requirements.txt requirements.in"><pre class="notranslate">pip-compile --generate-hashes --output-file requirements.txt requirements.in</pre></div>
<p dir="auto">This requirements.txt should include the pinned dependencies for the SQS  backend (boto3, pycurl, urllib3) and installable with <code class="notranslate">pip install --require-hashes -r reqs/requirements.txt</code> .</p>
<h1 dir="auto">Actual Behavior</h1>
<p dir="auto">Trying to install this requirements.txt by <code class="notranslate">pip install --require-hashes -r reqs/requirements.txt</code> will error since not all dependencies are pinned as required by the option <code class="notranslate">require-hashes</code>. I've tried this with the latest pip (21.3.1). and pip-tools (6.4.0).</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ pip install --require-hashes -r requirements.txt
Collecting amqp==5.0.6
  Using cached amqp-5.0.6-py3-none-any.whl (53 kB)
Collecting billiard==3.6.4.0
  Using cached billiard-3.6.4.0-py3-none-any.whl (89 kB)
Collecting celery[sqs]==5.2.0
  Using cached celery-5.2.0-py3-none-any.whl (404 kB)
Requirement already satisfied: click==8.0.3 in ./venv/lib/python3.10/site-packages (from -r requirements.txt (line 19)) (8.0.3)
Collecting click-didyoumean==0.3.0
  Using cached click_didyoumean-0.3.0-py3-none-any.whl (2.7 kB)
Collecting click-plugins==1.1.1
  Using cached click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
Collecting click-repl==0.2.0
  Using cached click_repl-0.2.0-py3-none-any.whl (5.2 kB)
Collecting kombu==5.2.1
  Using cached kombu-5.2.1-py3-none-any.whl (188 kB)
Collecting prompt-toolkit==3.0.22
  Using cached prompt_toolkit-3.0.22-py3-none-any.whl (374 kB)
Collecting pytz==2021.3
  Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting six==1.16.0
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting vine==5.0.0
  Using cached vine-5.0.0-py2.py3-none-any.whl (9.4 kB)
Collecting wcwidth==0.2.5
  Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Requirement already satisfied: setuptools in ./venv/lib/python3.10/site-packages (from celery[sqs]==5.2.0-&gt;-r requirements.txt (line 15)) (58.2.0)
Collecting urllib3&gt;=1.26.7
ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
    urllib3&gt;=1.26.7 from https://files.pythonhosted.org/packages/af/f4/524415c0744552cce7d8bf3669af78e8a069514405ea4fcbd0cc44733744/urllib3-1.26.7-py2.py3-none-any.whl#sha256=c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844 (from kombu==5.2.1-&gt;-r requirements.txt (line 39))"><pre class="notranslate"><code class="notranslate">$ pip install --require-hashes -r requirements.txt
Collecting amqp==5.0.6
  Using cached amqp-5.0.6-py3-none-any.whl (53 kB)
Collecting billiard==3.6.4.0
  Using cached billiard-3.6.4.0-py3-none-any.whl (89 kB)
Collecting celery[sqs]==5.2.0
  Using cached celery-5.2.0-py3-none-any.whl (404 kB)
Requirement already satisfied: click==8.0.3 in ./venv/lib/python3.10/site-packages (from -r requirements.txt (line 19)) (8.0.3)
Collecting click-didyoumean==0.3.0
  Using cached click_didyoumean-0.3.0-py3-none-any.whl (2.7 kB)
Collecting click-plugins==1.1.1
  Using cached click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
Collecting click-repl==0.2.0
  Using cached click_repl-0.2.0-py3-none-any.whl (5.2 kB)
Collecting kombu==5.2.1
  Using cached kombu-5.2.1-py3-none-any.whl (188 kB)
Collecting prompt-toolkit==3.0.22
  Using cached prompt_toolkit-3.0.22-py3-none-any.whl (374 kB)
Collecting pytz==2021.3
  Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting six==1.16.0
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting vine==5.0.0
  Using cached vine-5.0.0-py2.py3-none-any.whl (9.4 kB)
Collecting wcwidth==0.2.5
  Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Requirement already satisfied: setuptools in ./venv/lib/python3.10/site-packages (from celery[sqs]==5.2.0-&gt;-r requirements.txt (line 15)) (58.2.0)
Collecting urllib3&gt;=1.26.7
ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
    urllib3&gt;=1.26.7 from https://files.pythonhosted.org/packages/af/f4/524415c0744552cce7d8bf3669af78e8a069514405ea4fcbd0cc44733744/urllib3-1.26.7-py2.py3-none-any.whl#sha256=c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844 (from kombu==5.2.1-&gt;-r requirements.txt (line 39))
</code></pre></div>
<p dir="auto">I tracked down the cause of this to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="670997396" data-permission-text="Title is private" data-url="https://github.com/celery/celery/issues/6271" data-hovercard-type="pull_request" data-hovercard-url="/celery/celery/pull/6271/hovercard" href="https://github.com/celery/celery/pull/6271">#6271</a> where requirements/sqs.txt is modified to install <code class="notranslate">kombu[sqs]</code> instead of the explicit dependencies. See <a href="https://github.com/celery/celery/pull/6271/files#diff-d229b45a35f019d718901cd33e806e8d2fbecb8eb66d81fb00f8e481c56ea0b4">https://github.com/celery/celery/pull/6271/files#diff-d229b45a35f019d718901cd33e806e8d2fbecb8eb66d81fb00f8e481c56ea0b4</a></p>
<p dir="auto">I under that it's much nicer to only specify these dependencies in one repository by using this pass through dependency but it appears like pip-tools (or even the resolver in pip?) can not handle it. I haven't really had the time to dig into the details but it might make sense to explicitly define the SQS dependencies in <a href="https://github.com/celery/celery/blob/master/requirements/extras/sqs.txt">https://github.com/celery/celery/blob/master/requirements/extras/sqs.txt</a> as is done for the other backends until this works upstream since pip-tools is a rather common tool to work with dependencies.</p>