Assette supports batch generation as a performance-optimized mechanism to execute multiple document generations in parallel. This feature is particularly useful for automating large-scale report production, enhancing throughput while maintaining efficient resource usage. The batch generation process is tightly scoped to the tenant level, ensuring that limits and performance behaviors are isolated per tenant.
Each tenant in Assette can run up to five batches concurrently. These batches operate in parallel, each functioning independently to process document generation tasks. Within a single batch, up to ten documents are generated simultaneously. This means that at full capacity, a tenant can generate up to 50 documents in parallel across all five batches.
Data Object Call Limits #
Document generation in Assette often involves invoking Data Objects, which connect to underlying data sources (e.g., Snowflake) to retrieve the required information. Each document generation is allowed up to 20 Data Object calls. With ten documents processed concurrently per batch, this results in a maximum of 200 concurrent Data Object calls per batch.
When utilizing all five concurrent batches, the system may initiate up to 1,000 concurrent Data Object calls across all batches. Any additional documents or batches beyond this capacity will be automatically queued and processed once system resources become available.
Managing Source System Constraints #
While Assette can efficiently handle large volumes of document generation, some data sources may not be able to sustain high levels of concurrent queries. For example, if a source system such as Snowflake encounters load or rate limitations, users should consider:
- Reducing the number of concurrent batches
- Decreasing the number of documents per batch
- Scaling the resources of the source system to better handle the volume of requests
These strategies can help balance system load and ensure successful data retrieval without overloading the source systems.
Troubleshooting and Optimization #
If performance issues or failures occur during batch generation, consider the following troubleshooting steps:
- Optimize Data Blocks: Review and streamline the logic and configuration of Data Blocks to reduce complexity and processing time.
- Use Smaller Batches: Lowering the batch size can reduce the number of concurrent Data Object calls, alleviating pressure on backend systems.
- Inspect failed content: Check that there are no issues with the underlying content (i.e., Data Blocks, Data Objects). Ensure that all settings are correctly configured for the Smart Doc and each Smart Page.