Skip to content

task priority disappear after self.retry() #5654

@Sobes76rus

Description

@Sobes76rus

Checklist

  • I have read the relevant section in the
    contribution guide
    on reporting bugs.
  • I have checked the issues list
    for similar or identical bug reports.

Mandatory Debugging Information

  • I have included the output of celery -A proj report in the issue.
    (if you are not able to do this, then at least specify the Celery
    version affected).

Optional Debugging Information

  • I have tried reproducing the issue on more than one Python version
    and/or implementation.
  • I have tried reproducing the issue on more than one version of the message
    broker and/or result backend.
  • I have tried reproducing the issue after downgrading
    and/or upgrading Celery and its dependencies.

Related Issues and Possible Duplicates

Related Issues

Environment & Settings

Celery version: 4.3.0 (rhubarb)

celery report Output:

software -> celery:4.3.0 (rhubarb) kombu:4.4.0 py:3.6.7
            billiard:3.6.0.0 py-amqp:2.4.1
platform -> system:Linux arch:64bit
            kernel version:4.18.0-25-generic imp:CPython
loader   -> celery.loaders.app.AppLoader
settings -> transport:amqp results:disabled

task_queues: [<unbound Queue test -> <unbound Exchange test(direct)> -> test>]

Steps to Reproduce

Required Dependencies

  • Minimal Python Version: 3.6.7
  • Minimal Celery Version: 4.3.0
  • Minimal Kombu Version: 4.4.0

Minimally Reproducible Test Case

Details

import celery
from kombu import Exchange
from kombu import Queue


class Config:
    task_queues = [
        Queue('test', Exchange('test'), routing_key='test', queue_arguments={'x-max-priority': 3})
    ] # yapf: disable


app = celery.Celery('test')
app.config_from_object(Config)


@app.task(bind=True)
def task(self):
    print(self.request.delivery_info['priority'])
    self.retry(countdown=1)


if __name__ == '__main__':
    task.s().apply_async(priority=1, queue='test')

Expected Behavior

Expect task to have a priority 1 after self.retry()

Expected output:

[tasks]
  . test.task

[2019-07-24 22:31:50,810: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2019-07-24 22:31:50,823: INFO/MainProcess] mingle: searching for neighbors
[2019-07-24 22:31:51,855: INFO/MainProcess] mingle: all alone
[2019-07-24 22:31:51,869: INFO/MainProcess] celery@ArtSobes-Home-Ubuntu-18 ready.
[2019-07-24 22:31:51,870: INFO/MainProcess] Received task: test.task[df27b1cc-6a9e-4fdb-aa46-dd02d15e4df2]  
[2019-07-24 22:31:51,973: WARNING/ForkPoolWorker-16] 1
[2019-07-24 22:31:51,995: INFO/MainProcess] Received task: test.task[df27b1cc-6a9e-4fdb-aa46-dd02d15e4df2]  ETA:[2019-07-24 19:31:52.974357+00:00] 
[2019-07-24 22:31:51,995: INFO/ForkPoolWorker-16] Task test.task[df27b1cc-6a9e-4fdb-aa46-dd02d15e4df2] retry: Retry in 1s
[2019-07-24 22:31:54,828: WARNING/ForkPoolWorker-2] 1
[2019-07-24 22:31:54,850: INFO/MainProcess] Received task: test.task[df27b1cc-6a9e-4fdb-aa46-dd02d15e4df2]  ETA:[2019-07-24 19:31:55.829945+00:00] 
[2019-07-24 22:31:54,850: INFO/ForkPoolWorker-2] Task test.task[df27b1cc-6a9e-4fdb-aa46-dd02d15e4df2] retry: Retry in 1s
[2019-07-24 22:31:56,831: WARNING/ForkPoolWorker-4] 1
[2019-07-24 22:31:56,853: INFO/MainProcess] Received task: test.task[df27b1cc-6a9e-4fdb-aa46-dd02d15e4df2]  ETA:[2019-07-24 19:31:57.832523+00:00] 
[2019-07-24 22:31:56,853: INFO/ForkPoolWorker-4] Task test.task[df27b1cc-6a9e-4fdb-aa46-dd02d15e4df2] retry: Retry in 1s
[2019-07-24 22:31:58,833: WARNING/ForkPoolWorker-6] 1

Actual Behavior

On the first call task priority is 1, but after retry it is None

[tasks]
  . test.task

[2019-07-24 22:30:51,901: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2019-07-24 22:30:51,913: INFO/MainProcess] mingle: searching for neighbors
[2019-07-24 22:30:52,940: INFO/MainProcess] mingle: all alone
[2019-07-24 22:30:52,956: INFO/MainProcess] celery@ArtSobes-Home-Ubuntu-18 ready.
[2019-07-24 22:30:52,957: INFO/MainProcess] Received task: test.task[bc93cbd9-9a20-41cb-aaef-55c71245038e]  
[2019-07-24 22:30:53,060: WARNING/ForkPoolWorker-16] 1
[2019-07-24 22:30:53,083: INFO/MainProcess] Received task: test.task[bc93cbd9-9a20-41cb-aaef-55c71245038e]  ETA:[2019-07-24 19:30:54.062046+00:00] 
[2019-07-24 22:30:53,083: INFO/ForkPoolWorker-16] Task test.task[bc93cbd9-9a20-41cb-aaef-55c71245038e] retry: Retry in 1s
[2019-07-24 22:30:54,958: WARNING/ForkPoolWorker-2] None
[2019-07-24 22:30:54,979: INFO/MainProcess] Received task: test.task[bc93cbd9-9a20-41cb-aaef-55c71245038e]  ETA:[2019-07-24 19:30:55.959481+00:00] 
[2019-07-24 22:30:54,979: INFO/ForkPoolWorker-2] Task test.task[bc93cbd9-9a20-41cb-aaef-55c71245038e] retry: Retry in 1s
[2019-07-24 22:30:56,960: WARNING/ForkPoolWorker-4] None
[2019-07-24 22:30:56,982: INFO/MainProcess] Received task: test.task[bc93cbd9-9a20-41cb-aaef-55c71245038e]  ETA:[2019-07-24 19:30:57.962134+00:00] 
[2019-07-24 22:30:56,983: INFO/ForkPoolWorker-4] Task test.task[bc93cbd9-9a20-41cb-aaef-55c71245038e] retry: Retry in 1s
[2019-07-24 22:30:58,963: WARNING/ForkPoolWorker-6] None

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions