Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't handle retries #10

Open
nijel opened this issue Oct 9, 2018 · 3 comments
Open

Doesn't handle retries #10

nijel opened this issue Oct 9, 2018 · 3 comments
Labels
enhancement New feature or request

Comments

@nijel
Copy link
Contributor

nijel commented Oct 9, 2018

The celery batches doesn't do retries, in more detail it's described in celery/celery#1498 with possible workaround.

nijel added a commit to WeblateOrg/weblate that referenced this issue Oct 9, 2018
Using retry doesn't work in celery-batches, it just raises the original
exception. See clokep/celery-batches#10

Fixes WEBLATE-FM
Fixes WEBLATE-FY
Fixes WEBLATE-FW
Fixes WEBLATE-FT
Fixes WEBLATE-FS
Fixes WEBLATE-FV
Fixes WEBLATE-FR

Signed-off-by: Michal Čihař <[email protected]>
@clokep
Copy link
Owner

clokep commented Oct 9, 2018

Thanks for filing this, you're correct that this is definitely a missing feature. I don't think it would be too hard to add, but I'm unsure.

The "tracer" in celery-batches is missing quite a bit of functionality, actually. In this case it is missing some of the exception handling of calling the task, see part of Celery's trace_task:

https://github.com/celery/celery/blob/5af199c94f3bf08dfaa93c36c83c2147b5f15639/celery/app/trace.py#L372-L390

vs. Celery-batches' apply_batches_task:

https://github.com/percipient/celery-batches/blob/5e65d4addb378c0c7e9ad24ea2c7974e2be58b47/celery_batches/__init__.py#L173-L180

@nijel
Copy link
Contributor Author

nijel commented Oct 9, 2018

Another bit which is missing is at least called_directly=False, otherwise retry will not attempt to retry...

@clokep
Copy link
Owner

clokep commented Oct 9, 2018

Looking a bit more about this, we'd have to handle bind=True, I think? Unless there's a way to retry on tasks that don't bind?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants