Edit:
to explain my scenario and maybe incorrect understanding how external client works:
I have task which might take hours to complete so in this case client is gonna be occupied by one task and therefore I do understand other topics needs to wait thus the solution might be to have multiple clients but in this scenario I am afraid a server might get slow down by frequent polling
I can implement very easily the client.
But in my case I have ~50 external tasks (one server) and a majority of them are long-running (60s and more) and they can be triggered concurrently.
In docs there is mentioned
As the external task clients didn’t use any threading internally, you should start as many clients as needed and balance the load with your operating system.
So my understanding is that I do either create multiple external applications for each external task or a multithread application.
I am sorry for such beginners questions. But asking here might save me time on developing.
Indeed, you can create as many independent external task clients as you need. You can have multiple clients subscribed to the same topic. You could have a one client for each topic or you could even have a small number of clients what each subscribe to multiple topics.