diff --git a/api.go b/api.go index 459a7b0..220e12a 100644 --- a/api.go +++ b/api.go @@ -103,6 +103,8 @@ func (c *cron) Delete(ctx context.Context, name string) error { if _, err := c.client.Delete(ctx, jobKey); err != nil { return err } + counterKey := c.key.CounterKey(name) + c.collector.Push(counterKey) if _, ok := c.queueCache.Load(jobKey); !ok { return nil diff --git a/internal/informer/informer.go b/internal/informer/informer.go index 12cefce..2f77c3d 100644 --- a/internal/informer/informer.go +++ b/internal/informer/informer.go @@ -160,6 +160,7 @@ func (i *Informer) handleEvent(ev *clientv3.Event) (*Event, error) { if i.yard.HasJustDeleted(string(ev.PrevKv.Key)) { return nil, nil } + i.collector.Push(i.key.CounterKey(i.key.JobName(ev.Kv.Key))) kv = ev.PrevKv default: