I have a shared drive on a server which has text file on it. This file is being read on two Virtual Machines on the server by Multicharts (1st VM) and TS (2nd VM).
I manually make changes to the .txt file to add in fundamental data which is then read by both TS and Multicharts using the elcollections app.
If I run this on a tick chart on both Multicharts and TS then sporadically I get the error: elsystem.UserException: Unable to open requested file
Both VMs are only accessing the network drive in real-time. I could cache the file locally but this seems to add at least 15-second delay in reading the file, therefore, I don't want to do this.
My next step would be to sync the file locally using something like RoboCopy. However, if anyone has any other ideas please help.
Elcollections error
- Svetlana MultiCharts
- Posts: 645
- Joined: 19 Oct 2017
- Has thanked: 3 times
- Been thanked: 163 times
Re: Elcollections error
Hello kingmins,
Please try to format the file with a simpler editor than Excel, e.g. Notepad++
Do you get the error if only one chart from one application (MC or TS) reads the file at time?
Please try to format the file with a simpler editor than Excel, e.g. Notepad++
Do you get the error if only one chart from one application (MC or TS) reads the file at time?
Re: Elcollections error
@kingmins,
How does windows do file locking? I do not know if two processes can open a file (even for only reading) at the same time. Since they are each on different VMs, then the OS won't be the problem, but the network filesystem and the locking being done there.
Are you in control of how the file is being read?
How important it is that you get the updates to the file immediately? If you could wait, and you control the reading processes on both sides, you could have one of them read it for the first 30 seconds of the minute, and then the other one could read it only on the second 30 seconds of a minute.
How does windows do file locking? I do not know if two processes can open a file (even for only reading) at the same time. Since they are each on different VMs, then the OS won't be the problem, but the network filesystem and the locking being done there.
Are you in control of how the file is being read?
How important it is that you get the updates to the file immediately? If you could wait, and you control the reading processes on both sides, you could have one of them read it for the first 30 seconds of the minute, and then the other one could read it only on the second 30 seconds of a minute.