500 ms too often. Try 2 seconds and work back as soon as it works. In addition, you may want to do something like starting from 2 seconds, and if it does not work after a certain number of attempts, increase to 5 seconds (or something else). I see it a lot.
Please note that you need to interrogate sucks. If you have a modest user base of 100 concurrent users, and they all use a workflow that requires polling, your application can be flooded with hundreds of requests every second. In other words, the survey does not scale well if you do not have the resources to support the servers horizontally. Depending on your use case, it might be better to just send the initial request to start the long process asynchronously and inform the user about it in 2 minutes.
Let me ask: how long will it take to complete the task for which you are conducting a survey?
source share