cancel
Showing results for 
Search instead for 
Did you mean: 

Different Ways of running a process from Control Room if something happened

AlessandroDell1
Level 3
Hello,
I have to run a process at the end of each month. At the beginning of the process i basically check if is the last day of the current month: if it so, the process will go ahead, if it's not the process will end. If something goes wrong, so that the process won't be able to start on said day, how can I manually handle it to force a run(maybe the day after)? 
Cheers,
Alessandro

------------------------------
Alessandro Dell'Anno
------------------------------
6 REPLIES 6

Denis__Dennehy
Level 15
You could store a flag somewhere (maybe in a workqueue or cloud config file?) that signifies the last datetime that the process successfully completed all work.   Your process logic could then check that flag.

I like your thinking on this - every RPA process that is created should had a contingency plan to ensure work is always done even if there are issues.

------------------------------
Denis Dennehy
(Former) Head of Professional Services, EMEA
Blue Prism Ltd
Europe/London
------------------------------

Hi Denis,
Thank you. What I mean though is the following: what if the process does not even start on said day (last day of a month). Because If I do like you suggest, it means that the process has already started since it is checking some flags that I might have put somewhere. My Concern is : ok the today is the last day of a month, the systems are down the process cannot be run today. We must force it to run tomorrow . What could I do?

------------------------------
Alessandro Dell'Anno
------------------------------

Hi @Alessandro Dell'Anno,

Post running the process, you can create a notepad file which will just update the last runtime stamp. After that, create a windows task scheduler to run every last day of the month in the evening (say) which will trigger a batch file. You can write a logic in the batch file to check the last run timestamp. If the last runtime stamp says that the bot ran 1 day before or 2 days before, trigger an email to the business/technical support to handle the execution of process or even you can trigger the blue prism process via command prompt/batch file. In this way, the dependency on Blue Prism gets converted to windows task scheduler and even if the Blue prism environment is down, you will get notification. This could be one possible solution.

------------------------------
Manpreet Kaur
Manager
Deloitte
------------------------------

Hi @Alessandro Dell'Anno,

Alternatively, you can create a work queue item (if you want to remove the dependency of external notepad file)​ which will always be in Pending status with a specific tag (e.g. Status Tag- DO NOT DELETE). The overall function of this tag is just to update the last run timestamp. You can create a small process which can be triggered multiple times to check if the process ran for today or not. If yes, then end the process and if the process didn't run today, you can trigger your specific process. This could be an alternative solution based on your requirement.

------------------------------
Manpreet Kaur
Manager
Deloitte
------------------------------

Hi,

I reckon the way to go is via @ManpreetKaur4's latest suggestion. There should always be a WorkQ item as this is the easy way for you or a ProcessController to check ​progress made by the process, or its final status. Just running a process and only logging via a text files or XL and without any WorkQ items makes no sense as you need to look outside BP to check if it even ran.

At my place of work we have a process that does not do anything case-related, it collects data, processes it, and does a final comparison that is reported upon. So instead of not using WorkQ items, we devised a WorkQ item for each of the most important steps executed by the process. A bit like this:
  • Initialize folders
  • Data collection system A
  • Data collection system B
  • Process data system A
  • Process data system B
  • Calculate & report
These steps are Initial Values in a collection that we load to the WorkQ when the process starts. The process reads each item, does its thing, and continues with the next. Also, the process stops when any given step fails. This turned out to be very handy later on when analyzing errors. Also, we now did have logs handy which would be harder to come by had there been no WorkQ items.

------------------------------
Happy coding!
---------------
Paul
Sweden
------------------------------
Happy coding!
Paul, Sweden
(By all means, do not mark this as the best answer!)

...additionally, you can ensure a process runs on a specific date during a month, something trivial like the third Wednesday of the month. Run your process on the first of that month, have it calculate the specific date and create a WorkQ item for that calculated date. After that, run the process every day to check if the workQ item i ready for processing. If it is: process the WorkQ item. If the rundat exceeds the calculated date, and the WorkQ item remains unprocessed, you can throw exceptions or start email folks as a warning.

------------------------------
Happy coding!
---------------
Paul
Sweden
------------------------------
Happy coding!
Paul, Sweden
(By all means, do not mark this as the best answer!)