You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I need to monitor jobs in multiple remote systems to know when (and IF) they started, as well as when they are finished. All jobs execute in a single time zone. Each job sends a message (Web hook) to my monitoring service when they start or finish so that I can observe SLAs, etc. These jobs have different recurring time schedules and frequency, i.e. some of them execute once every day, others execute every 5 minutes, etc.
My main issue is that I have no way of knowing when a job's next execution never took place, so e.g. I cannot notify the operators that a specific job that should have been executed 5 minutes ago has NOT started yet, so that they can take action.
I am thinking of using Quartz.NET to replicate the recurring time schedules of each of my remote jobs as "dummy" jobs in my Quartz.NET-based monitoring system. This way, when a "dummy" job executes, I just need to check whether there has been a START message sent by the relevant remote job it is "replicating" its schedule. If no START message is found in my logs, I could inform my operators that the remote job has NOT started as per its set time schedule.
Is the above a viable scenario for using Quartz.NET ?
Sorry if I am missing something major, as I am quite new to Quartz.NET.
Couple of options here I think
[1]
Simple/Basic
When the job sends the webhook, include "NextScheduledExecutionTime" as a data point.
Your monitoring system can then have a list of date/times which are the upcoming "expected job executions". You would then have something that compares the actual received "job executed" messages and compare them to the expected executions.
[2]
More Complex/Complete
Something at scheduler startup - queries the scheduler and reads the trigger schedules for all jobs for the next 24 hours, and send that info to your monitoring system as the "expected job executions".
You would also need a job running once every 24 hours to repeat that process to keep your monitoring up to date.
You would then compare expected executions with actual executions.
You would need separate webhooks for "job started" and "job completed" because a long running job may appear like it has missed the schedule if you only track "job completions".
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello,
I need to monitor jobs in multiple remote systems to know when (and IF) they started, as well as when they are finished. All jobs execute in a single time zone. Each job sends a message (Web hook) to my monitoring service when they start or finish so that I can observe SLAs, etc. These jobs have different recurring time schedules and frequency, i.e. some of them execute once every day, others execute every 5 minutes, etc.
My main issue is that I have no way of knowing when a job's next execution never took place, so e.g. I cannot notify the operators that a specific job that should have been executed 5 minutes ago has NOT started yet, so that they can take action.
I am thinking of using Quartz.NET to replicate the recurring time schedules of each of my remote jobs as "dummy" jobs in my Quartz.NET-based monitoring system. This way, when a "dummy" job executes, I just need to check whether there has been a START message sent by the relevant remote job it is "replicating" its schedule. If no START message is found in my logs, I could inform my operators that the remote job has NOT started as per its set time schedule.
Is the above a viable scenario for using Quartz.NET ?
Sorry if I am missing something major, as I am quite new to Quartz.NET.
Thank you for all and any help.
Best regards,
P.
Beta Was this translation helpful? Give feedback.
All reactions