Noga

Updating PI points values simultaneously by two processes

Discussion created by Noga on Dec 9, 2019
Latest reply on Feb 5, 2020 by Rhys Kirk

I have implemented two different applications that use AF SDK to sync source and destination PI servers points:
One application runs continuously to copy ongoing data from src to dest PI server.

Second application is a manual process, i.e. an application that is used on demand, which fills data gaps in history data (archive PI data).

 

both of these applications update the same destination PI server using a single thread and by using the method:

 

public Task<AFErrors<AFValue>> UpdateValuesAsync(
IList<AFValue> values, AFUpdateOption option,
AFBufferOption bufferOption, CancellationToken cancellationToken = null)


According to OSISoft 'Theading overview' documentation: Threading Overview 
AF SDK does not ensure thread safety for write operations and AF object should not be modified on multiple threads simultaneously.

 

Therefore, I wish to understand-

If I run my two applications simultaneously (to update ongoing points values and also update archive values for the same points) on 2 different processes\instances and on the same computer,

would that pose a threading safety problem?

Do I have to limit my applications to be executed one at a time?

Or maybe the fact that one application updates archive values and the other updates current values for the same points ensures that the writing\update operation is thread safe?

 

 

 

Thanks.

Outcomes