4.2.7.3 Task Configuration Properties

Under workflow.server.taskConfig, enter task-level property values that are shared across all tasks within a specific task category.

For example, txeventq.<property_name> represents a property that is shared across all TxEventQ Publish tasks. If multiple TxEventQ Publish tasks are running, they share the same cache configuration. MicroTx Workflows uses these properties to optimize connection management and improve task execution performance. These settings are particularly useful in high-traffic environments because reusing cached connections reduces the overhead of creating new connections and improves performance.

Property Description
txeventq.requestTimeout Specifies the maximum amount of time a task waits for a request to reach the database. If the request does not reach the database within the configured timeout period, the task fails and times out. Default value is 20000 ms.
txeventq.cacheTime Determines how long a cached entry remains valid before it expires and is removed from the cache. It acts as the Time To Live (TTL) for a cache entry. For TxEventQ tasks, the cache entry represents a database connection. For example, if the cache time is set to 1200 milliseconds, the database connection remains in the cache for up to 1200 milliseconds before it expires and is removed. Reusing cached connections helps optimize connection management and improves overall task execution performance. Default value is 120000 ms.
txeventq.cacheSize Determines the maximum number of entries that a cache can contain. It directly correlates to the number of different database connections that can be stored in the cache at a given time. For example, if the cache size is set to 10, the system can cache up to 10 different database connections simultaneously. A larger cache size allows more database profiles or connections to be reused from the cache, which reduces the time required to establish new connections and improves overall task execution performance, especially in high-traffic environments. The default value is 10.
transaction.readTimeout Maximum permissible time, in milliseconds (ms), to read full response after connection. Default value is 180000 ms. You can tune this for large payloads, such as transaction logs.
transaction.connectTimeout Maximum permissible time, in milliseconds (ms), to establish a TCP connection. Default value is 180000 ms.
grpc.cacheSize Determines the number of different connections that can be stored in the cache. Default value is 10.
grpc.cacheTime Defines how long the cached connections remain valid before expiring. Default value is 120000 ms.
sql.cacheSize Determines the maximum number of entries that a cache can contain. It directly correlates to the number of different database connections that can be stored in the cache at a given time. For example, if the cache size is set to 10, the system can cache up to 10 different database connections simultaneously. A larger cache size allows more database profiles or connections to be reused from the cache, which reduces the time required to establish new connections and improves overall task execution performance, especially in high-traffic environments. The default value is 10. Default value is 15.
sql.cacheTime Determines how long a cached entry remains valid before it expires and is removed from the cache. It acts as the Time To Live (TTL) for a cache entry. For SQL tasks, the cache entry represents a database connection. For example, if the cache time is set to 1200 milliseconds, the database connection remains in the cache for up to 1200 milliseconds before it expires and is removed. Reusing cached connections helps optimize connection management and improves overall task execution performance. Default value is 600 s.

The following code snippet provides sample values for all the properties under workflow.server.taskConfig in the values.yaml file.

    # task configuration
    taskConfig:
      # TxEventQ task tuning knobs for timeout/caching behavior.
      txeventq:
        requestTimeout: 20000ms
        cacheTime: 120000ms
        cacheSize: 10
      # HTTP transaction task timeout settings for coordinator interactions.
      transaction:
        readTimeout: 180000ms
        connectTimeout: 180000ms
      # gRPC task connection/result caching controls.
      grpc:
        cacheSize: 10
        cacheTime: 120000ms
      # SQL task cache sizing and TTL controls.
      sql:
        cacheSize: 15
        cacheTime: 600s