Latency when complete user task and fetch after task

i use camunda 8.3.1 in spring boot application
i use taskList rest api to get current active task
when i complete task e.g t1 and i want to get next task e.g t2 have a latency about 6 secound that this issue can have problem when i want to show suddenly next task
is there a way to improve speed of get next task??

Hi @Mohammad_Rahmani - there is a delay between Zeebe and Tasklist, because Zeebe needs to export data to Elasticsearch. Tasklist reads the data from Elasticsearch. To minimize that delay, you want to make sure you’ve sized your environment correctly. However, there will always be a slight delay because Tasklist is waiting for that exported data.

I have a flow that after the completion of a usertask, the information of the next userTask should be displayed to the user immediately on UI. Is it possible to get my next userTask information in another way other than the tasklist api so as not to include this delay? For example, does zeebeclient itself have functions to get the information of the next task.
Is it the right thing to receive information from elastics search itself?
Is there a way to avoid delays?
Thank u

Hi @nathan.loding
I read the two links you posted:
1- [Exporters | Camunda 8 Docs]
2- [Sizing your environment | Camunda 8 Docs]
And after checking the link below:
[Elasticsearch exporter | Camunda 8 Docs]
I know that bulk(ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_BULK_DELAY=5) is set to 5 by default and after every 5 seconds 1000 records are sent to zeebe, so I changed this number to 0.
By changing this number to zero, what effect or problem will it have on the system or will it not suffer?
but still have a 1 or 2 second delay

Hi @Mohammad_Rahmani - I don’t know exactly what effect setting that to 0 will have. There will, however, still be a delay; this delay is meant to be minimal, and our engineers are always working to minimize the delay further, but there will always be a delay because Zeebe needs to be export the data to Tasklist.

If you absolutely need immediate information, you can create a job worker that listens for user task events. (Here is a forum topic where a user did a similar thing.) There are downsides to this approach, as the same job worker will be invoked for every user task, so your job worker needs to handle all those cases.

Thank you for your answer
I have to solve my problems in another way, either in design or by setting delay on the program.