Node.js based alternative to Blue Prism's built-in scheduler.
Project consists of 3 parts:
- web app (not released yet, WIP)
- centralized scheduler (this project)
- interface to Blueprism, running on each runtime resource - (https://github.com/peterdanis/blueprism-automatec-api)
Scheduler sends instruction which process to run and when via HTTP/HTTPS to API endpoint running on each runtime resource (Blue Prism's term for computer executing the automation), which serves as an interface between HTTP/HTTPS calls and "AutomateC.exe" (part of default Blue Prism installation).
- schedule is a container of one or more tasks, expected to run at certain time
- task is an instruction which Blueprism process to run
- job is a particular instance of a schedule (e.g. when a schedule is due to run, an instance of it will be created and inserted into job queue)
- step is a particular instance of task, tied to a particular job execution
- user authentication with username and password
- store data in separate SQL database
- separate queue for each runtime resource
- if multiple jobs are waiting in queue, start them by priority
- recurrent schedules
- onetime schedules
- adjustable delay after each task
- hard timeout per task (kill task)
- force run job with adjustable wait time (for time sensitive schedules, with job priority 0)
- skip job if maximum wait time in queue reached (schedule setting)
- send email on error, customizable per schedule
- run from executable on Windows (via https://github.com/vercel/pkg)
- register as service on Windows (via https://github.com/winsw/winsw)
- handle short network or SQL server outages
- view-only user accounts
- user authentication against domain
- reusable tasks (each task can be part of multiple schedules)
- reset before and after each schedule (clean environment before running schedule plus no need to run Logout)
- soft timeout per task (send "stop" request)
- multiple onetime / recurrent rules per schedule
- skip job if multiple jobs of some schedule are queued (schedule setting)
- custom "on error" actions per task/schedule
- put resource to maintenance mode (wait/softStop/hardStop options, with job priority -1)
- drilldown job to steps, to see status of each step
- timezone support
- maintenance mode
- convert tasks from Blueprism scheduler
- define multiple runtime resources per schedule - run job on whichever runtime resource will become free first
- link job/steps to session log in Blueprism database
- download latest version from https://github.com/peterdanis/blueprism-scheduler-backend/releases/latest
- (optional) generate self-signed HTTPS certificate, using
generate_selfsigned_certificate.bat
- rename
sample.env
file to.env
- open
.env
file with any text editor and update settings - install it as Windows service, using
install.bat
- connect via
http://yourHostname:port
, or directly from same machine viahttp://localhost:3000
(orhttps://localhost:3000
if you use HTTPS and you did not change the default port) - if page is not loading, check logs in
logs
folder for potential errors
- stop
Blue Prism scheduler
service (e.g. via: Win+R key combination, type inservices.msc
, hit Enter, find it in the list) - go to folder, where you installed this project
- delete
webapp
folder - download latest version from https://github.com/peterdanis/blueprism-scheduler-backend/releases/latest and overwrite all files
- start
Blue Prism scheduler
service - check logs in
logs
folder for potential errors
All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.