I’m evaluating different workflow processing strategies for our approval cycles in Creatio 7.18. We’re processing 50,000+ approval requests daily, and I’m trying to decide between batch processing and real-time workflow execution.
Real-time processing gives immediate notifications and better user experience, but I’m concerned about performance impact and database load. Batch processing would reduce system load through scheduled job execution, but might delay notifications and complicate audit trail consistency.
Has anyone implemented high-volume approval workflows using batch processing? What are the trade-offs you’ve experienced between batch job scheduling efficiency versus real-time notification requirements? I’m particularly interested in how batch processing affects audit trail consistency when approvals span multiple batch cycles.
We process 75,000 approvals daily using pure batch processing with 10-minute cycles. The secret is setting correct expectations with users - they understand approvals aren’t instant. For real-time notification, we decouple the notification system from workflow execution. The batch job processes approvals and writes to a notification queue, then a separate real-time service sends notifications immediately. This gives you batch processing efficiency with near-real-time user feedback. Audit trail consistency is maintained by logging workflow events separately from batch execution logs.
We run a similar volume and went with a hybrid approach. Real-time processing for priority approvals (flagged by business rules), and batch processing for standard requests. The key is intelligent routing based on urgency. Batch jobs run every 15 minutes for standard approvals, which gives acceptable response times while reducing database load by about 60%. Real-time notification can still work with batch processing if you implement a notification queue that processes independently of the workflow engine.
From an enterprise architecture perspective, batch processing makes sense for approval cycles if you design the batch job scheduling properly. Use time-window based batches rather than fixed-size batches - this maintains predictable processing times. For audit trail consistency, implement a unified logging framework that timestamps all events at creation time, not processing time. This way, whether an approval is processed in real-time or batch, the audit trail reflects the actual decision timestamp. The trade-off is increased complexity in the logging infrastructure.