Scheduler Performance: Run in Under X Seconds

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. 💡

A screenshot of the Appian interface showing a list of process activities, indicating various process names, statuses, and timestamps for ongoing processes.
Screenshot of Appian process activity dashboard showing several process instances with their status, start time, and end time.

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

Screenshot of the Appian documentation glossary page, highlighting the definition of the Appian Memory Unit (AMU) and its description.

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.

Screenshot of Appian's Process Model Metrics interface displaying information about scheduled processes, including memory usage, instance counts, and completion percentages.

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

Up ↑

Discover more from Appian Tips

Subscribe now to keep reading and get access to the full archive.

Continue reading

Discover more from Appian Tips

Subscribe now to keep reading and get access to the full archive.

Continue reading