hyperf / hyperf/crontab

任务执行时间迟了一秒钟

Aperta
#10 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
PHP
Stelle
13
Fork
13
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

比如`*/5 * * * * *`,本应该每5秒执行一次,也就是0秒、5秒、10秒...时间执行,实际时间为1秒、6秒、11秒...,跟踪了下代码,发现`Hyperf\Crontab\Strategy\Executor`的`execute`方法最后一行是`$callback && $this->timer->after($diff > 0 ? $diff : 1, $callback);`,不明白为什么这么设计,这不是跟预期不一致吗?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Parti da Hyperf\Crontab\Strategy\Executor::execute e riproduci la pianificazione `*/5 * * * * *` descritta nell’issue. Traccia il ritardo finale del callback del timer e verifica che le esecuzioni avvengano ai secondi 0, 5 e 10 anziché ai secondi 1, 6 e 11; il lavoro è completato quando la temporizzazione osservata corrisponde alla pianificazione indicata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
php
Ambito
backend
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.