Skip to content

Enable Celery Background Manager for additional Backends - #3733

Draft
datenzauberai wants to merge 10 commits into
plotly:devfrom
datenzauberai:celery_manager_backends
Draft

Enable Celery Background Manager for additional Backends#3733
datenzauberai wants to merge 10 commits into
plotly:devfrom
datenzauberai:celery_manager_backends

Conversation

@datenzauberai

@datenzauberai datenzauberai commented Apr 10, 2026

Copy link
Copy Markdown

This is an implementation to fix #3729 and #3116.

Contributor Checklist

  • I have broken down my PR scope into the following TODO tasks
    • Error early on when the configured backend is not a BaseKeyValueStoreBackend
    • Use proper byte-like objects as keys for BaseKeyValueStoreBackend
    • Harden implementation to support celery filesystem backend
    • Enhance implementation to support arbitrary backends via get_result and store_result
  • I have run the tests locally and they passed. (refer to testing section in contributing)
  • I have added tests, or extended existing tests, to cover any new features or bugs fixed in this PR

optionals

  • I have added entry in the CHANGELOG.md
  • If this PR needs a follow-up in dash docs, community thread, I have mentioned the relevant URLS as follows
    • this GitHub #PR number updates the dash docs
    • here is the show and tell thread in Plotly Dash community

@camdecoster

Copy link
Copy Markdown
Contributor

Thanks for creating this PR! Is it in a state where we can review it?

@datenzauberai

Copy link
Copy Markdown
Author

Thanks for creating this PR! Is it in a state where we can review it?

I'm on it, but this still needs work! The manager itself works locally, but I want to have good tests first so that this can be maintained in the future.

@sonarqubecloud

sonarqubecloud Bot commented Aug 4, 2026

Copy link
Copy Markdown

@datenzauberai

Copy link
Copy Markdown
Author

@T4rk1n Maybe you could have a quick look. This should work now with the filesystem backend in Celery.

Enabling the other backends would need a more substantial rework, because we would need to use get_result/store_result instead of get/set/delete/expire in BaseKeyValueStoreBackend.

I wonder if it's really worth the effort to rework this, because I guess that many simple cases can now be handled using WebSocket Callbacks. What do you think?

@robertclaus robertclaus assigned T4rk1n and unassigned datenzauberai Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Celery Background Callback Manager fails with Non-Key/Value-Backends

3 participants