MCPcopy
hub / github.com/go-co-op/gocron / SchedulerMonitor

Interface SchedulerMonitor

scheduler_monitor.go:7–50  ·  view source on GitHub ↗

SchedulerMonitor is called by the Scheduler to provide scheduler-level metrics and events.

Source from the content-addressed store, hash-verified

5// SchedulerMonitor is called by the Scheduler to provide scheduler-level
6// metrics and events.
7type SchedulerMonitor interface {
8 // SchedulerStarted is called when Start() is invoked on the scheduler.
9 SchedulerStarted()
10
11 // SchedulerStopped is called when the scheduler's main loop stops,
12 // but before final cleanup in Shutdown().
13 SchedulerStopped()
14
15 // SchedulerShutdown is called when Shutdown() completes successfully.
16 SchedulerShutdown()
17
18 // JobRegistered is called when a job is registered with the scheduler.
19 JobRegistered(job Job)
20
21 // JobUnregistered is called when a job is unregistered from the scheduler.
22 JobUnregistered(job Job)
23
24 // JobStarted is called when a job starts running.
25 JobStarted(job Job)
26
27 // JobRunning is called when a job is running.
28 JobRunning(job Job)
29
30 // JobFailed is called when a job fails to complete successfully.
31 JobFailed(job Job, err error)
32
33 // JobCompleted is called when a job has completed running.
34 JobCompleted(job Job)
35
36 // JobExecutionTime is called after a job completes (success or failure)
37 // with the time it took to execute. This enables calculation of metrics
38 // like AverageExecutionTime.
39 JobExecutionTime(job Job, duration time.Duration)
40
41 // JobSchedulingDelay is called when a job starts running, providing both
42 // the scheduled time and actual start time. This enables calculation of
43 // SchedulingLag metrics to detect when jobs are running behind schedule.
44 JobSchedulingDelay(job Job, scheduledTime time.Time, actualStartTime time.Time)
45
46 // ConcurrencyLimitReached is called when a job cannot start immediately
47 // due to concurrency limits (singleton or limit mode).
48 // limitType will be "singleton" or "limit".
49 ConcurrencyLimitReached(limitType string, job Job)
50}

Callers 14

notifyJobRegisteredMethod · 0.65
notifyJobUnregisteredMethod · 0.65
notifyJobStartedMethod · 0.65
notifyJobRunningMethod · 0.65
notifyJobFailedMethod · 0.65
notifyJobCompletedMethod · 0.65

Implementers 1

testSchedulerMonitorscheduler_monitor_test.go

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…