I have been using this little tactic in my scripts for some time and now with Ignition 8 it is failing to always add all the rows. Is there something that I should be doing different now?
You are reading the value of the client tag inside the loop and then writing back to it.
system.tag.write is asynchronous, so it does not wait for the write to occur before returning.
You should do something like the following:
unloadItemsDS = system.tag.getTagValue("[client]unloaditems")
rowsToAppend = []
for item in items:
rowsToAppend.append([item['uid'], item['itemnum'], item['itemdescription'], item['qty'], item['units'], item['confirmedunload']])
unloadItemDS = system.dataset.addRows(unloadItemsDS,rowsToAppend)
system.tag.write("[client]unloaditems",unloadItemDS)