Skip to content

Commit

Permalink
Update creating-task-definitions.md
Browse files Browse the repository at this point in the history
  • Loading branch information
RizaFarheen committed Nov 13, 2024
1 parent 7a8ca63 commit 0d9bebc
Showing 1 changed file with 1 addition and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Task definitions register tasks in Conductor. This API is used to create task de
| concurrentExecLimit | The number of tasks that can be executed at any given time. <br/><br/>For example, if you have 1000 task executions waiting in the queue and 1000 workers polling this queue for tasks, but if you have set _concurrentExecLimit_ to 10, only 10 tasks would be given to workers (which would lead to starvation). If any of the workers finish execution, a new task(s) will be removed from the queue while still keeping the current execution count to 10. |
| backOffScaleFactor | The value to be multiplied with retryDelaySeconds in order to determine the interval for retry. |
| rateLimitFrequencyInSeconds, rateLimitPerFrequency | <ul><li>**rateLimitFrequencyInSeconds** sets the frequency window, which is the _duration_ to be used in events per duration.</li><li>**rateLimitPerFrequency** defines the number of tasks that can be given to workers per given frequency window.</li></ul>Rate limiting is only supported for the Redis persistence module and is unavailable with other persistence layers.<br/><br/>For example, let’s set **rateLimitFrequencyInSeconds=5**, and **rateLimitPerFrequency=12**. This means our frequency window is 5 seconds in duration, and for each frequency window, the Conductor would only give 12 tasks to workers. So, in a given minute, the Conductor would only give 12*(60/5) = 144 tasks to workers, irrespective of the number of workers polling for the task.<br/>Unlike **concurrentExecLimit**, rate limiting doesn't consider the tasks already in progress or a terminal state. Even if all the previous tasks are executed within 1 sec or would take a few days, the new tasks are still given to workers at configured frequency, 144 tasks per minute in the above example. |
| enforceSchema | Set to `true` to enforce task inputs/outputs for all instances of the task. By default, the value is set to false. |
| enforceSchema | Set to `true` to enforce task inputs/outputs for all instances of the task. By default, the value is set to `false`. |
| inputSchema | If _enforceSchema_ is set to `true`, select a schema (and version) to be used as input schema for the task definition. Learn more about [creating and using schema](https://orkes.io/content/developer-guides/schema-validation). |
| outputSchema | If _enforceSchema_ is set to `true`, select a schema (and version) to be used as output schema for the task definition. Learn more about [creating and using schema](https://orkes.io/content/developer-guides/schema-validation). |
| ownerEmail | This field will be auto-populated with the user's email address. |
Expand Down

0 comments on commit 0d9bebc

Please sign in to comment.