# Questions about system.util.invokeAsynchronous

**URL:** <https://forum.inductiveautomation.com/t/questions-about-system-util-invokeasynchronous/23366>\
**Category:** Ignition\
**Created:** [March 14, 2019, 9:00pm UTC](https://forum.inductiveautomation.com/t/questions-about-system-util-invokeasynchronous/23366 "2019-03-14T21:00:18Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [March 14, 2019, 9:38pm UTC](https://forum.inductiveautomation.com/t/questions-about-system-util-invokeasynchronous/23366/2 "2019-03-14T21:38:34Z")

</div>

> [@cbanzet](#):
>
> What I am doing is reading a large amount of data from the serial port, massaging it and then inserting it into a database.

Yeah, you want to run a dedicated thread. This might help:

> [@How to listen serial data without interruption](http://forum.inductiveautomation.com/t/how-to-listen-serial-data-without-interruption/15709/2):
>
> This is actually a rather challenging task, requiring a background thread constantly listening to the serial port. You might find inspiration in this example: [clientserial.py](https://www.automation-pros.com/ignition/clientserial.py).

> [@cbanzet](#):
>
> Also, is using Python’s “print” command considered to an interaction with the GUI?

Technically, yes. But you can get away with it. The down side is it is prone to disappear into the bitbucket on the floor when used in the background. You should use system.util.getLogger() in the background, and everywhere in a gateway scope.

---

_[View the full topic](https://forum.inductiveautomation.com/t/questions-about-system-util-invokeasynchronous/23366)._
