# How do I orchestrate async tasks

**URL:** <https://forum.inductiveautomation.com/t/how-do-i-orchestrate-async-tasks/65848>\
**Category:** Ignition\
**Created:** [October 30, 2022, 2:40am UTC](https://forum.inductiveautomation.com/t/how-do-i-orchestrate-async-tasks/65848 "2022-10-30T02:40:23Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![justinedwards.jle](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justinedwards.jle/32/37854_2.png) [@justinedwards.jle](https://forum.inductiveautomation.com/u/justinedwards.jle)\
**Post date:** [October 30, 2022, 10:39am UTC](https://forum.inductiveautomation.com/t/how-do-i-orchestrate-async-tasks/65848/2 "2022-10-30T10:39:14Z")

</div>

It's possible that this could be of use to you:

> [@Managing multiple asynchronous threads](https://forum.inductiveautomation.com/t/managing-multiple-asynchronous-threads/37185/2):
>
> To manage long-running jython threads through scripting restarts, you need to: Place the thread object in a dictionary that retains its content through script restarts. I used to recommend the dictionary from system.util.getGlobals(), but that is no longer suitable. I created a free [Life Cycle Module](http://forum.inductiveautomation.com/t/system-util-getglobals-not-persisted-across-designer-save/33869/14) that provides such dictionaries going forward. Write the asynchronous function’s loop so that it regularly checks [Thread.interrupted()](https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#interrupted--), particularly after any java I/O operations. Clean up …

---

_[View the full topic](https://forum.inductiveautomation.com/t/how-do-i-orchestrate-async-tasks/65848)._
