# Scan class execution duration and ways to know if it has complete execution

**URL:** <https://forum.inductiveautomation.com/t/scan-class-execution-duration-and-ways-to-know-if-it-has-complete-execution/102676>\
**Category:** Ignition\
**Tags:** ignition79\
**Created:** [February 21, 2025, 4:18am UTC](https://forum.inductiveautomation.com/t/scan-class-execution-duration-and-ways-to-know-if-it-has-complete-execution/102676 "2025-02-21T04:18:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![aaron1](https://avatars.discourse-cdn.com/v4/letter/a/b5a626/32.png) [@aaron1](https://forum.inductiveautomation.com/u/aaron1)\
**Post date:** [February 21, 2025, 4:18am UTC](https://forum.inductiveautomation.com/t/scan-class-execution-duration-and-ways-to-know-if-it-has-complete-execution/102676/1 "2025-02-21T04:18:49Z")

</div>

Hi all,

Was wondering if it's possible to know if a scan class has complete it's execution. I have several tags on a 'one-shot execution' driven scan class which is driven by user demand. As currently this scan class execution duration is around 70 seconds and I am reading these tag values in a script then combining them with data from a database to display in a power table, I'd like to know once all the tags have been updated before reading the tags. I could look at one of the tag's 'last changed' timestamp however if there hasn't been a value or quality change the timestamp wouldn't change either.

Below is a screenshot of the scan class execution stats.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/4/4412855c6a8df2f88d4fafb698637f9bdd46342a.png)

The other questions is that with the same number of tags on a normal direct scan class, the execution duration is only around 23ms. These tags are from 100 or so device drivers and I am only reading 2 or 3 values from each device. Is this due to the 'one shot' execution that each scan is a complete new scan of the tags so it takes longer?

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/d/c/dc1c0372e762baa2005185a0b894157d209af574.png)

The Ignition version for this gateway is v7.9.8.

Many thanks.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 21, 2025, 12:57pm UTC](https://forum.inductiveautomation.com/t/scan-class-execution-duration-and-ways-to-know-if-it-has-complete-execution/102676/2 "2025-02-21T12:57:16Z")

</div>

I've never found one-shot execution particularly useful, unless the only purpose is to lazily deliver the new values for display on a UI.

For any other purpose, you should be use `system.opc.readValues()`, not Ignition tags.

---

<div class="post-metadata">

**Author:** ![aaron1](https://avatars.discourse-cdn.com/v4/letter/a/b5a626/32.png) [@aaron1](https://forum.inductiveautomation.com/u/aaron1)\
**Post date:** [March 20, 2025, 5:48am UTC](https://forum.inductiveautomation.com/t/scan-class-execution-duration-and-ways-to-know-if-it-has-complete-execution/102676/3 "2025-03-20T05:48:53Z")

</div>

Thanks Phil. Had to make a few changes to the tag structure but did end up using the direct OPC read to make it work.
