Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Behavior with multiple API calls to the same instance of RoboDK.
I stopped using virtual machines altogether, so I have not encountered this issue recently. However, if needed, I would be able to revert my changes and go back to using virtual machines, in which case I would expect to be able to reproduce with C but not Python. It seems that for me, there was some combination of virtual machines and the C API that caused things to fail. See below.

C API on physical machine: very reliable
C API on virtual machine: very unreliable
Python API on physical machine: very reliable
Python API on virtual machine: very reliable

I am now using no virtual machines. Rather, I am using both the C and Python APIs on my physical machine only. Things are working well (and ~10 times faster!). However, I have not done any longevity testing yet so it is possible that issues will crop up more as I move towards running for multiple days.

It sounds like you are able to reproduce what I saw if you are unable to properly retrieve item pointers?

The function you wrote for the entire item list would likely still be useful, especially if we have reason to believe that getting an invalid item will occasionally hang, since I need to be confident in reliability over a long period of time. Certainly, having the option to specify a timeout is critical so I can catch errors and attempt to retry if necessary rather than causing the calling function to hang.
I just pushed an update that should fix all the issues we were discussing.

I noticed that since the C API is way faster, we should block all socket read calls to wait for the expected bytes to be buffered. It should be robust now. Let me know if this is not the case.
I am no longer observing this on my VM! (Although, my setup has changed a little so it is not a perfect test. However, I do not expect the way my setup changed to affect whether or not I experience reliability issues.)

This is great, thanks Albert!

Users browsing this thread:
1 Guest(s)