Can't use pipes in Strategy Tester when using Network Farm Agents?

Trev Henderson  

Hi All,

Sorry for another pipe vs. http dll question, but I don't think it's been asked before whether you can use pipes in Strat Tester on remote agents in your own network farm.

I've been trying to run an EA that communicates through a named pipe (using the stdLib CFilePipe), and it all works in Strategy Tester as long as you use 'Local Agents'.

However, when I try to run them using 'Local Network Farm' agents, the pipe fails. I have the pipe servers running on the other machines in the Network farm, so you would think it would connect. They aren't trying to connect to pipes remotely, just a local pipe named '\\\\.\\pipe\\fx-queue' on each machine.

Even if I set up my local machine as using Local Network Farm agents, (by enabling them locally in MetaTester and disabling the 'Local Agents', it still won't open the pipes when it runs. It just seems like we can't open pipes in a Network Farm.

Has anyone seen this or been able to get around it? Am I missing something basic here?

I thought I was 'doing the right thing' using pipes instead of http or an  MQ client with a dll, so this is a bit of a killer for me. I might have to go back to that.


Appreciate any input,

Regards.

Trev Henderson  

Hi,

I actually got it working, but with a very simple version. Network Farm Agents on the remote machine talking to a pipe server on the remote machine.

I think the problem was too many connections to the pipe server from 8xAgents starting one time, and it just messed everything up. And I only had 1 pipe server instance running. Every now and then I would get the following error in the remote machines agent's logs:

NM      0       13:26:05.159    127.0.0.1       tester forced to stop
GF      0       13:26:05.160            optimize Experts\PipeTest.ex5 on AUDUSD.a,M1 thread finished
EJ      0       13:26:05.164    127.0.0.1       prepare for shutdown
JE      0       13:26:22.715    127.0.0.1       login (build 3180)
QS      0       13:26:22.724    127.0.0.1       tester forced to close
OE      0       13:26:22.727    127.0.0.1       stop immediately
PN      0       13:26:22.937    Server  MetaTester 5 stopped
The the only way to fix it was to restart the machine. The agents would even stop writing to their logs, so I think it's something to do with messing up their file writing (a Pipe is an in-memory file I suppose). Restarting the services or the pipe server wouldn't fix it. Maybe the pipe name became corrupt and a reboot fixed it, don't know. However once it got working on a reboot, it would keep working.


I'm still having trouble getting it working with my main pipe server, it's a bit more complicated. It's all a bit flaky, so I'm thinking of changing it over to mq. My pipe servers were only just creating messages and sending them to RabbitMQ anyway, so I might as well start the message directly from a dll rather than pipes.


Thanks for your response though,

Regards.

Reason: