Control Room & Scheduler

Expand all | Collapse all

Queuing and retry mechanism on schedule

  • 1.  Queuing and retry mechanism on schedule

    Posted 12-06-2018 08:54
    Scenario as below If there are two schedules "Schedule A" & "Schedule B" and both having object with foregroun run mode. "Schedule A" run at 1:00 pm "Schedule B" run at 1:30 pm If "Schedule A" run more than 30 mins.  "Schedule B" will be marked as failed with message "Runtime Resource xxxxxx is too busy". Is it possible to allow "Schedule B" to be queued up or re-try the schedule after failure This enhancement allow us to better ultilize the robot and handle fail case 


  • 2.  We coded a program that…

    Posted 01-08-2019 00:50
    We coded a program that checks the sql table for any failed missed schedules, adds it to a queue, and then it continually tries to run the process until it successfully runs.  It's been working pretty well for us.


  • 3.  RE: We coded a program that…

    Posted 05-30-2019 13:30
    @Tom Cirone

    What did you use to code that? Did you guys make up something quick or a full-on app?​

    ------------------------------
    Dave Morris
    3Ci @ Southern Company
    Atlanta, GA
    ------------------------------



  • 4.  RE: We coded a program that…

    Posted 06-17-2019 09:30
    Edited by Hakan Engman 06-17-2019 09:34

    Hi, 

    Even though I also access the dateabase and do SQL queries towards it, BluePrism acatually provide another option to get a status report.

    AutomateC.exe /sso /viewschedreport { days } { date } /dbconnname { database } /format csv 

    Give the ouput : 

    Type,Status,Name,Instance,Start,End,Termination Reason

    Otherwize I gues you find most of the important stuff in BPAScheduleLogEntry table in the database. Personally I'm trying to move away from accessing the db directly. The output could be "piped" to your homebuilt re-scheduler code. 

    Just as an option. 

    Thank you,

    Håkan Engman 



    ------------------------------
    Hakan Engman
    Automation engineer
    Teliacompany.com
    Europe/Stockholm
    ------------------------------



  • 5.  RE: We coded a program that…

    Posted 02-17-2020 21:42
    @Dave Morris  Sorry--Just saw this message now 

    It's part of a BluePrism process that runs 24 *7. It uses AutomateC commands + Database queries + BluePrism queue

    First it queries the database tables BPAScheduleLogEntry and  BPAScheduleLog to find any schedules that have been missed.  These could have been missed for any reason: machine offline, conflicting schedule, etc.  It adds the schedule name to a queue "Missed Schedules". 

    Second, it  takes the queue items and tries to trigger the process via AutomateC.exe.  The return message only means it's added to the queue, not that it actually triggered. 

    Finally, in every process we callan object that we call called "Close Missed Schedules".  This gets the Schedule name (via searching the session ID in the database). It then closes any pending items in the queue "Missed Schedules" .  This ensures the schedule won't be re-run.

    ------------------------------
    Tom Cirone
    Application Developer
    Essity
    America/New_York
    ------------------------------



  • 6.  RE: We coded a program that…

    Posted 02-18-2020 13:51
    Ha, wow! I guess the Communities Messaging feature came through for us? I assume my tagging your name caused a message to be put there. Nice. +1 for the new Forum! =)

    That makes sense. I have been considering making a Controller app ever since I saw that Ami Barrett made one. I don't like the idea of relying on a Blue Prism Runtime Resource being available to run such a process for the purpose of making sure other processes have run. We have some similar utilities, including some queries that @Brenton Westwood ​​set up which keep us aware of any failed schedules and stuff like that. We haven't implemented any queue logic like you described. Have you encountered any unintended situations from doing that, such as schedules being run more than they're supposed to?

    ------------------------------
    Dave Morris
    3Ci @ Southern Company
    Atlanta, GA
    ------------------------------



  • 7.  RE: We coded a program that…

    Posted 02-18-2020 14:04
    ​Yes that's exactly what happened with the forum!

    Yeah that's definitely a fair point about relying on another RR.  The whole process does a lot of other stuff (mail distributing, alerting, restarting machines, event based triggering, etc.).  When that process goes down generally someone notices within a couple hours when they are doing something that uses it.  I've also thought about lifting into a .NET app that runs as a service to free up the license.  The trickiest part I imagine is once you get into anything with BP queues.  It's going to be quite an ugly SQL query to add a queue item via the database directly.  

    We encountered schedules running multiple times in the beginning.  We fixed it by putting the "Closed Missed Schedules" both at the beginning and end of the process.  I don't think it's happened since but not 100% sure.

    ------------------------------
    Tom Cirone
    Application Developer
    Essity
    America/New_York
    ------------------------------



  • 8.  Hi Tom,   can you elaborate…

    Posted 04-12-2019 00:31
    Hi Tom,   can you elaborate on how you coded for  failed or missed schedule  in the queue? not sure how you are calling the failed queue ?


  • 9.  RE: Queuing and retry mechanism on schedule

    Posted 05-30-2019 12:58
      |   view attached
    While creating your scheduler for Schedule A , we can add Schedule B to run on completion of Scheduler A. 
    So when you create task for Schedule A, you will see option 'On Completion' there you can give Task which will run Process/Scheduler B.

    Attached snapshot for more details.

    ------------------------------
    Ravinder saini
    Consultant
    Ernst & Young India
    Asia/Kolkata
    ------------------------------



  • 10.  RE: Queuing and retry mechanism on schedule

    Posted 05-30-2019 13:28
    Edited by David Morris 05-30-2019 13:28
    Hi @Ravinder saini​,

    The feature you mention regarding On Complete/On Exception is very useful, but the problem is that Lap Hon's need is to re-run a Schedule that was missed and there's currently no interaction between Schedules. What you're referring to is between tasks within the same schedule.

    Still, I wonder if the suggestion might not be a good workaround. Instead of scheduling the two processes on separate schedules, maybe they could be combined together into the same schedule. The tasks that were previously in Schedule A would be the first few tasks and Schedule B's tasks would be the latter half of a combined Schedule AB.

    ------------------------------
    Dave Morris
    3Ci @ Southern Company
    Atlanta, GA
    ------------------------------