# Concurrency

In general, Mechanic will process as many [**runs**](/core/runs.md) simultaneously as possible. This means that multiple tasks subscribing to the same event topic are very likely to execute simultaneously, when such an event occurs.

To protect the health of the system and to ensure performance for every store on the platform, Mechanic have several **concurrency** limits, defining the conditions in which Mechanic will perform runs simultaneously.

{% hint style="info" %}
In most cases, an inefficient run queue is best addressed by combining or reorganizing tasks, improving [Shopify API usage efficiency](/core/shopify/api-rate-limit.md) (converting REST requests to GraphQL is often helpful), or by making judicious use of [event filters](/platform/events/filters.md).

It can be also useful to temporarily disable a task responsible for the backup; doing so will cause Mechanic to instantly fail its enqueued runs when they come up for processing, but it will not fail those task runs ahead of time.
{% endhint %}

## Limits

Each store's Mechanic account has a fixed run queue size. This limit controls how many runs Mechanic will perform simultaneously for your store. With a limit of 2, this could mean 2 events, or 2 tasks, or 1 event and 1 tasks and 0 actions, or any other combination of runs. Additional runs will be performed as the preceding runs complete.

{% hint style="info" %}
Related FAQ: [Can my Mechanic concurrency limit be raised?](/faq/can-my-mechanic-concurrency-limit-be-raised.md)
{% endhint %}

## Tips

* Use GraphQL to query Shopify, to keep your data usage efficient. (To learn more, see [Interacting with Shopify](/core/shopify.md).)
* For options for ordering execution of runs, see [Ordering](/core/runs/ordering.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.mechanic.dev/core/runs/concurrency.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
