Frecuency to invoke a web service

Certified Lead Developer

Hi all,

We have a requirement to read some xml files from an external system when they are ready. It would be ideal to set up an API in Appian to receive a call when a file is ready but this is not an option for limitations in the external system. We have to invoke from Appian a web service every x minutes to retrieve the files.

The question is, how often to do it? The requirement says we should call the external system "at least twice per minute" which I think is too frequent. As the standard timeout setting of Web Service calls is 120 ms I think we could have difficulties if we invoked the service more frequently than that. 

I really dont like having to generate process instances every 5 minutes but I would like to know what is the recommendation here? The customer wants to see the files quickly. How often would you generate a process for this? 

Thanks a lot

  Discussion posts and replies are publicly visible

  • Certified Lead Developer

    The minimum time you can start a process model by a timer is 5 minutes.

  • I have to say that I hate the "polling" pattern with a vengeance. It doesn't scale well and subjects you to conflicting priorities (trying to minimize the frequency of the calls versus the time-sensitivity of the business process).,

    It would be ideal to set up an API in Appian to receive a call when a file is ready but this is not an option for limitations in the external system

    I would challenge this if possible. It's unlikely that it technically can't be done, but it may be a question of time/cost/skills.

    On the assumption that you cannot get they system to notify you when the files are ready (an event pattern, which is by far preferable) then the frequency of your calls need to meet the business time sensitivity (what is the longest that it is acceptable to wait before receiving the files) versus reducing the load on the resources that you have (network capacity, application server resources on your Appian platform)

  • Certified Senior Developer

    The minimum time can you start a process is 5 minutes, i suggest to create an utility process will to be deleted after completition.
    In this model, you can call, with MNI (or similar) a process every X time, X determined with a timer and a specific expression.

    obviously the process have to be completed before 5 minutes.

    I hope to gave you an idea.