DialogFlow resource limit exceeded

I have a bitbucket pipeline setup to execute the botium tests using the dialogflow connector. I have 1 service account that has access to multiple dialogflow ES agents. When I run multiple pipelines at the same time that are running tests against different agents, I keep getting the following errors for some of the conversations:
error sending to bot - Cannot send message to dialogflow container: 8 RESOURCE_EXHAUSTED: Quota exceeded for quota metric 'Dialogflow Essentials Edition text query operations' and limit 'Dialogflow Essentials Edition text query operations per minute' of service '[dialogflow.googleapis.com](http://dialogflow.googleapis.com/)' for consumer
When I run tests against 1 agent at a time I do not see this issue. Each test runs on a separate docker container.
I have also put in the rate limit capability to 100 to limit to 10 requests/second “RATELIMIT_USERSAYS_MINTIME”: “100”

My Question is: Why do I get this resource limit error when I ran against different agents at the same time?

There are API call quotas applied for Dialogflow, see https://cloud.google.com/dialogflow/quotas?hl=de#es-agent

When running tests in parallel, the API call counter on Dialogflow side is increased and the limits are reached faster. You should either run the tests sequentially or apply another rate limit to have less calls in total when running in parallel.

Hi @Florian thanks for the response. I read that article and the limits are per project and my service account is in a single project. I will have to create a service account per dialogflow agent to resolve the parallel run issue

This could work - can you please update here as soon as you know if this solves your issue ?

Confirming I was able to run tests in parallel for multiple agents with a service account provisioned per agent project

1 Like