In Redash docker-compose files, we have been used to the following services:

  1. Server
  2. Adhoc-worker
  3. scheduled_worker
  4. scheduler
  5. Worker

What are these services actually doing? The flask application which runs the redash under the hood looks to be the server. But I am totally clueless on what other services are. Can someone help me understand and more about these services.

image

Is there a health checkpoint for all these services, to confirm if it’s really up or not?

  1. Server runs the flask webserver
  2. The scheduler runs twice a minute and checks for scheduled tasks that need to be enqueued. This can be schema refreshes, cleaning up old query results, executing scheduled queries etc.
  3. The three workers (adhoc, scheduled, and plain worker) are all running the exact same code, but they monitor different task queues in redis.
  • The adhoc worker only runs adhoc queries
  • The scheduled worker only runs scheduled queries
  • The regular worker runs everything else
2 Likes

Thanks for clarifying this @jesse. Is there a healthcheck for scheduler and three workers?

You can see their status from the admin panel. I’m not sure if there’s an API endpoint though…

Where is the admin panel in redash? I was never able to see it from redash UI

Click your avatar and then System Status.

2 Likes

Thanks a ton :slight_smile: . This works out for me.