Refresh schedule not working v10

I have set a Refresh schedule for each query so that it will be automatically updated at a fixed time every day, but it is not working. (So I operate it manually every week…)
v10
docker

Is there anyone who has faced and solved a similar problem?
Or have advice like “You should check this item / setting”.

Thank you very much.

We had similar problems, managed to fix them by seperating out the workers as described in the upgrading HOWTO:

In particular, seperating out scheduled_queries, schemas from the other periodic tasks seems to be important for some reason that I haven’t investigated.

1 Like

Thank you for answer!

Can you tell me where is the description of “seperating out the workers”?
I can’t find it in the linked page you show…

Thank you.

What @wlach refers to is define additional worker services. See step 5 in the upgrade instructions they linked.

Those instructions show how to add a single additional worker and specify which queues it should monitor. But you can create as many workers as you want (if your host machine has the resources, that is). For example you could create a service that only executes scheduled queries, one that only checks schemas, one that only runs adhoc queries, one that only runs periodic jobs etc.

1 Like

What @wlach refers to is define additional worker services. See step 5 in the upgrade instructions they linked.

Yes, specifically we found that having one worker with QUEUES=scheduled_worker,schemas and another with QUEUES="periodic emails default" fixed issues with scheduled queries not running: our previous set up put all non-adhoc queues on the same worker. I suspect this is due to a bug as in principle you should be able to run any set of tasks on any number of queues? Unfortunately I haven’t yet had time to look into this more deeply.

1 Like

Correct. But if there are not enough worker resources allocated to a given queue, the worker can become overwhelmed. If a job isn’t picked up within a certain period of time it just expires. If that happens before a worker can get to it, then everything falls behind.

Splitting queues off two specific worker services is a wise idea, particularly when some queues have long-running jobs. Redash tries to use sensible defaults for this. But in real-world usage there will inevitably be cases where the default isn’t suitable, which sounds like was the case in your installation.

2 Likes

Thank you very mush!
I understood the problem was becouse workers were not devided accoding to the purpose.

Thank you!
You mean If refresh schedule have a lot of work, we have to assign more workers to refresh schedule?

We’re not certain whether any of your scheduled queries are executing right now. If none of them execute then there is a broader issue. If some of them execute and others never do, then you may need to specify more workers.