I have a query regarding the File Polling Ports in webMethods (version 9.0 on windows in this example)
I am polling a directory via a UNC path for files. Once a file arrives, IS picks it up and sends it via HTTP to a cloud SaaS app.
In a single IS environment it works fine.
In a clustered IS (x 2) environment it works fine IF there is only one file at at time.
If there are multiple files dumped into the monitoring directory, and I have a clustered IS environment, this is where I run into trouble. The Saas provider will only accept one request at a time. The requests take about 12 seconds to complete.
Just say there are 3 files dumped: File1.csv File2.csv & File3.csv
Node 1 picks up File1.csv at 15:00:00 = processed and sent OK
Node 2 picks up File2.csv at 15:00:05 = process will fail, as File1 is still being sent and the SaaS provider will reject the second request until the first is complete.
If File2.csv errors within 60 seconds, then File3 will be sent ok.
I have configured the port with (see image for all details):
Enable Clustering Yes
Number of files to process per Interval (optional) 1
Maximum Number of Invocation Threads 1
I was hoping that IS would be smart enough to be cluster-aware and only ONE node would pick up ONE file every 60 seconds. But instead, it appears EACH node operated independently from each other. They pick up files at different times too, so the schedules are not in sync either.
Is this a bug / undocumented feature? I’ve scoured the web looking for clues but can’t find anything useful.
Hoping one of the geniuses out there can give me a hint!
Many thanks in advance.