cancel
Showing results for 
Search instead for 
Did you mean: 

Start Process Asynchronously

LorenzoTacconi
Level 3
Hello! Is there a way to start a process in asynchronous mode? I'll explain my usecase. I need to start a BluePrism process from Appian. The problem is that the blueprism process takes a lot of minutes to complete and so if I expose it as a webservice and start it with Appian, after four minutes Appian throws a timeout error since blueprism will wait until the end of the process to respond to Appian. So I would like to create another blueprism process to expose as a webservice which can launch the long process and complete and respond to Appian without waiting the "child" process to complete.
So this process should only launch in an asynchronous way another process and complete before the process which is launched completes.

Do you know if there is a way to do something like this with BluePrism?

Thank you.

------------------------------
Lorenzo Tacconi
------------------------------
8 REPLIES 8

Hi Lorenzo,

The Process Dispatch Framework on DX should help you do this. It's a collection of assets that provide a means for executing Blue Prism processes, asynchronously, via a SOAP web service invocation. Here is the link - https://digitalexchange.blueprism.com/dx/entry/9648/solution/process-dispatch-framework

------------------------------
Shashank Kumar
DX Integrations Partner Consultant
Blue Prism
Singapore
+6581326707
------------------------------

Hi, Lorenzo,

the solution should be "simple". With Appian just call Blue Prism VBO which creates a new item in a queue and return success (written into queue) or failure (not written to queue). Then independently/asynchronously BP process reads the queue if item is there it is processed at the end you can call Appian web service to pass the result. I don't know Appian so well but this would be asynchronous scenario which I would build.

Regards,


------------------------------
Zdeněk Kabátek
Head of Professional Services
NEOOPS
http://www.neoops.com/
Europe/Prague
------------------------------

Hello Shashank,

thank you for your answer, this could be just what I need. I will try to use it and make you know if this works for me.

Lorenzo

------------------------------
Lorenzo Tacconi
------------------------------

Hello Zdenek,

thank you for your answer, This could be a great and simple solution, but I need the process start immediatly after Appian call. If I add an item to a work queue I need an active process that works the queue in order for the item to be worked, but in this case I can't be sure that this item is worked immediatly. More probably it would be worked after some time, but I don't want this.

Or maybe there is a way to make a work item to be worked immediatly that I don't know?

Lorenzo

------------------------------
Lorenzo Tacconi
------------------------------

Hi Lorenzo - you could try this:

  1. Appian makes call to BP process A via WS
  2. Process A adds item to queue
  3. Process A starts Process B via command line interface
  4. Process A ends (and response is returned to Appian)
  5. Process B works item from queue
Or this:

  1. Appian starts process A via command line (also passing data as input parameters)
  2. Appian receives immediate confirmation that process has started
  3. Process A works case
The difficulty in both approaches is knowing which resource machine to use and what to do if the intended machine is already busy. A resource pool could help, but all pool members could be busy too. In the first example, process B could be started by scheduler and designed to keep waiting for items to appear in the queue, so process A would only need to add to the queue.

There are multiple options, but it depends on your use case and circumstances.

------------------------------
John Carter
Professional Services
Blue Prism
------------------------------

Hello John,

thank you for you answer. The first approach seems similar to what the framework suggested by Shashank in a preious comment do. What you say in the end of your comment is very interesting: "In the first example, process B could be started by scheduler and designed to keep waiting for items to appear in the queue". Could you give me a hint about how to design such a process? Is there a VBO that can be used to make a process wait for an item to appear in a queue and then work it? This process wuold keep a resource occupied while waiting for an item to appear on the queue, so I think i would dedicate at least one resource only for this process. Is this true?

Thank you.

Lorenzo


------------------------------
Lorenzo Tacconi
------------------------------

Hi Lorenzo - it's a simple design, all you do is make your process go into a 'sleep cycle' when there is no queue item available. The process sits in this loop until either an item arrives or the 'stop condition' is true (eg time > 18:00). You are correct that this design does consume a license while waiting for the item, but the benefit is that the process will begin working the item (almost) immediately.
1166.png


------------------------------
John Carter
Professional Services
Blue Prism
------------------------------

The obvious feature Blueprism is missing here is an active queue that starts processes on it's resource pool when pending items appear in queue or when resources in pool become idle if they were all busy at that point. 
But I guess that might be against BP interest of selling us more licenses 😉

------------------------------
Andrey Kudinov
Project Manager
MobileTelesystems PJSC
Europe/Moscow
------------------------------