[GH-ISSUE #18366] issue: multiple uvicorn workers do not update / refresh config from database #18572

Closed
opened 2026-04-20 00:47:27 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @mglaubitz on GitHub (Oct 16, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/18366

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

v0.6.32

Ollama Version (if applicable)

No response

Operating System

Ubuntu 24.04 Server, database postgresql, pgvector

Browser (if applicable)

No response

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

When a setting is changed in the administration, for example a new model name is added to an OpenAI provider OR a banner is added / deleted, the changes should be respected by all uvicorn worker instances. That means that changes should take effect even without having to restart the open-webui docker container.

Actual Behavior

The administration / config changes are saved to the database, but the uvicorn workers do not update / refresh their state of the config. It seems to be cached in some way.

So, for example, if I try do deactivate an Info banner and then refresh the page of a chat, the banner will stay there until I hit the uvicorn worker that handled the db change.

Steps to Reproduce

  1. setup uvicorn_woker setup with UVICORN_WORKERS > 1 (including redis websocker manager etc.)
  2. Go to Adminstration > Settings > Interface
  3. Add and active a banner
  4. Go to a random chat and refesh multiple times > the banner will only be when a specific uvicorn worker handles the request.

Logs & Screenshots

no specific log output

Additional Information

No response

Originally created by @mglaubitz on GitHub (Oct 16, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/18366 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version v0.6.32 ### Ollama Version (if applicable) _No response_ ### Operating System Ubuntu 24.04 Server, database postgresql, pgvector ### Browser (if applicable) _No response_ ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior When a setting is changed in the administration, for example a new model name is added to an OpenAI provider OR a banner is added / deleted, the changes should be respected by all uvicorn worker instances. That means that changes should take effect even without having to restart the open-webui docker container. ### Actual Behavior The administration / config changes are saved to the database, but the uvicorn workers do not update / refresh their state of the config. It seems to be cached in some way. So, for example, if I try do deactivate an Info banner and then refresh the page of a chat, the banner will stay there until I hit the uvicorn worker that handled the db change. ### Steps to Reproduce 1. setup uvicorn_woker setup with UVICORN_WORKERS > 1 (including redis websocker manager etc.) 2. Go to Adminstration > Settings > Interface 3. Add and active a banner 4. Go to a random chat and refesh multiple times > the banner will only be when a specific uvicorn worker handles the request. ### Logs & Screenshots no specific log output ### Additional Information _No response_
GiteaMirror added the bug label 2026-04-20 00:47:27 -05:00
Author
Owner

@Classic298 commented on GitHub (Oct 16, 2025):

Did you configure Redis, websocket support, and all the other required aspects of multi-concurrency deployments as per the docs? Need full config here to reproduce - because for me it works fine and I cannot reproduce any of these issues with the correct settings.

<!-- gh-comment-id:3409871428 --> @Classic298 commented on GitHub (Oct 16, 2025): Did you configure Redis, websocket support, and all the other required aspects of multi-concurrency deployments as per the docs? Need full config here to reproduce - because for me it works fine and I cannot reproduce any of these issues with the correct settings.
Author
Owner

@mglaubitz commented on GitHub (Oct 16, 2025):

Thx for asking - I double checked my docker-compose and found that I had indeed forgotten so set the REDIS_URL environment variable. I had followed the instructions on

https://docs.openwebui.com/tutorials/integrations/redis/

which do not mention the REDIS_URL variable. It might be a good idea to add this piece of information there.

This is now my working set of relevant environment variables:

  - ENABLE_WEBSOCKET_SUPPORT=True
  - REDIS_URL=redis://redis:6379/1
  - WEBSOCKET_MANAGER=redis
  - WEBSOCKET_REDIS_URL=redis://redis:6379/1
  - REDIS_KEY_PREFIX=open-webui
  - UVICORN_WORKERS=8
  - THREAD_POOL_SIZE=160

Since we have 64 cores, I am wondering how high I should set the UVICORN_WORKERS variable

<!-- gh-comment-id:3411603044 --> @mglaubitz commented on GitHub (Oct 16, 2025): Thx for asking - I double checked my docker-compose and found that I had indeed forgotten so set the REDIS_URL environment variable. I had followed the instructions on https://docs.openwebui.com/tutorials/integrations/redis/ which do not mention the REDIS_URL variable. It might be a good idea to add this piece of information there. This is now my working set of relevant environment variables: - ENABLE_WEBSOCKET_SUPPORT=True - REDIS_URL=redis://redis:6379/1 - WEBSOCKET_MANAGER=redis - WEBSOCKET_REDIS_URL=redis://redis:6379/1 - REDIS_KEY_PREFIX=open-webui - UVICORN_WORKERS=8 - THREAD_POOL_SIZE=160 Since we have 64 cores, I am wondering how high I should set the UVICORN_WORKERS variable
Author
Owner

@Classic298 commented on GitHub (Oct 16, 2025):

Does it work after you set it?

Should work.

And thanks please open an issue on our docs repository so i can tackle it. Otherwise I'll lose track of it.

Uvicorn of 8 is already high

<!-- gh-comment-id:3411725451 --> @Classic298 commented on GitHub (Oct 16, 2025): Does it work after you set it? Should work. And thanks please open an issue on our docs repository so i can tackle it. Otherwise I'll lose track of it. Uvicorn of 8 is already high
Author
Owner

@mglaubitz commented on GitHub (Oct 16, 2025):

Yes, it worked, after I set the REDIS_URL

I will open an issue as requested. Thanks a lot for replying so quickly :)

<!-- gh-comment-id:3411849327 --> @mglaubitz commented on GitHub (Oct 16, 2025): Yes, it worked, after I set the REDIS_URL I will open an issue as requested. Thanks a lot for replying so quickly :)
Author
Owner

@paul-nightforge-systems commented on GitHub (Oct 21, 2025):

Having an issue where when one of my piplines for gpt5 via responses API is running, with redis configured and proven working in the logs and redis data volume + 8 workers, requests utilizing my steamable HTTP MCP server will not complete until the stream from the responses API completes. Seems to me that the requests are block one another, I think the next one needs to wait for the first one to send its stream complete message before proceeding for some reason to update the UI, even though its already finished on the backend as shown in the logging.

<!-- gh-comment-id:3429763486 --> @paul-nightforge-systems commented on GitHub (Oct 21, 2025): Having an issue where when one of my piplines for gpt5 via responses API is running, with redis configured and proven working in the logs and redis data volume + 8 workers, requests utilizing my steamable HTTP MCP server will not complete until the stream from the responses API completes. Seems to me that the requests are block one another, I think the next one needs to wait for the first one to send its stream complete message before proceeding for some reason to update the UI, even though its already finished on the backend as shown in the logging.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#18572