When autoretry_for is passed as a kwarg to a task, celery wraps task.run method and stores original task.run method in task._orig_run. Currently get_key always checks task.run and the inspection of arguments doesn't return the right values. The solution is to check if _orig_run exists on task and if it does, inspect this method for arguments. I have created a PR #75 which includes a proposed fix and a test which covers that problem.
OS: debian 9 stretch
When autoretry_for is passed as a kwarg to a task, celery wraps task.run method and stores original task.run method in task._orig_run. Currently get_key always checks task.run and the inspection of arguments doesn't return the right values. The solution is to check if _orig_run exists on task and if it does, inspect this method for arguments. I have created a PR #75 which includes a proposed fix and a test which covers that problem.