|Just another Perl shrine|
Inline::Java with MCE::Hoboby eraskin (Novice)
|on May 26, 2021 at 22:08 UTC||Need Help??|
eraskin has asked for the wisdom of the Perl Monks concerning the following question:
Hello all... brand new seeker here.
I am new to using MCE::Hobo and looking for some wisdom. I have a program that makes a web service call to a SAP DataServices system. The code supplied by SAP is written in Java, so I have written a module using Inline::Java to access it. It works fine single-threaded.
Performance on large files is terrible and I know the bottleneck is the call to the service. I am attempting to using MCE::Hobo using workers and a queue to send requests to the server in parallel. When I execute the task, only some records return with valid data. It appears that only some of the workers are calling the service properly.
I have a sneaking suspicion that the problem is with Inline::Java and the JVM it creates. I thought (mistakenly?) that using MCE::Hobo would create individual processes and each would get its own JVM. Perhaps not? I wrote the software this way because I am not sure that the Java code provided by SAP works in a multi-threaded environment - hence the use of multiple processes.
Does anybody have experience running Inline::Java inside MCE::Hobo tasks?
Please let me know what other information you might need. I will post what I can. The code itself is rather long.