Hello, Friends!
Hope you’re having a fantastic day!
Recently, I had the privilege of engaging in an insightful conversation with a few seasoned Appian experts. This opportunity doesn’t come around often.
During our discussion, the topic of Schedulers came up — an essential yet often overlooked component that plays a critical role in our day-to-day automation tasks, whether it’s syncing data, pushing updates, triggering processes, or handling various backend operations.
One question sparked particular curiosity:
“Can we run a scheduler every 30 seconds (or any custom interval under a minute)?”
While the simple answer is yes, the real intrigue lies in how.
Inspired by this challenge, I put together a small proof of concept to explore this possibility — and yes, the results are promising!
So, gear up — because in this blog, we’re about to dive deep into the technical nitty-gritty of building and running ultra-fast schedulers in Appian. Stay tuned for a detailed walkthrough!
Let’s do some quick math to simplify things and help you visualize this better! 🤓
This approach will not only make the concept clearer but also spark ideas on how you can design your schedulers differently — maybe even run them at various intervals throughout the day for better optimization. 🚀
Give this a shot — it might just change the way you think about scheduler design! 😉
We all know it’s easy to set up a scheduler that runs once a day 😉
But let’s break the day down a bit 🕒:
⏱️ 1 minute = 60 seconds
⏰ 1 hour = 60 minutes
📅 1 day = 24 hours
Which means…
🧮 Total seconds in a day = 24 × 60 × 60 = 86,400 seconds!
That’s a lot of opportunities to run something more frequently than just once a day! 🚀
So, theoretically, the total possible runs in a day would be:
86400 / X — where X is your desired interval in seconds.
But wait — there’s more to consider! 😉
We also need proper auditing, because archiving each instance is crucial to keep track of what happened.
And as we all know, there’s the hard limit on MNI (Maximum Number of Instances) — you guessed it right — 1000!
So our equation evolves into something like this:
(86400 / 1000) / X = 86.4 / X
Which means roughly 87 parent processes per day — manageable! (Don’t worry about process parenting here — with a little magic ✨, we’ll handle those parent processes just fine 😉).
Let me show how what it would look like
Now, to make things even clearer, let’s try pushing the hard limits 🚀 — just to see how far we can go when designing our solution!
I ran a test with a total of 2000 records — using a batch size of 1000 and a counter set to 2 🧮.
Along the way, I also calculated the running instance time (in seconds) right in the process display name ⏱️ — giving a real-time view of how things were executing behind the scenes 🔍.
This experiment gave me deeper insights into how batching and instance control can help design smarter, more optimized schedulers. 💡


Then I tried to View Health Of System and went to see Total AMU and Got to Know

Keeping this in mind, my process was consuming 7,372 AMUs, which roughly translates to about 7.2 MB (7,372 ÷ 1,024). 💾
Note: In Appian, AMUs reflect disk usage, while RAM consumption is typically around 2.5 times this value. 🧠⚙️
Therefore, it’s essential to actively monitor and free up memory, as long-lived instances can significantly increase AMU consumption over time, leading to heavier resource impact. 📈💾
To handle them gracefully, make sure to use timers and proper end events ⏳✅ — ensuring processes don’t linger unnecessarily and consume extra resources.

In the process, you’ll notice a consistent 30-second gap between each scheduler run ⏳.
But how exactly is this achieved? 🤔
Hope you got to know many new things. For Such Updates, Stay Tuned.
For deeper insights, stay tuned — we’ll unravel this puzzle piece by piece in the next part! 🧩🚀
Links Used: https://docs.appian.com/suite/help/25.2/Glossary.html
Discover more from Appian Tips
Subscribe to get the latest posts sent to your email.
Leave a Reply