Sto guardando la freccia dal punto di vista laterale del server.Dart ha uno scheduler?
Esiste un pianificatore in grado di eseguire isolati in un momento specifico o X volte all'ora? Sto pensando alle linee di Quartz nel mondo di Java.
Sto guardando la freccia dal punto di vista laterale del server.Dart ha uno scheduler?
Esiste un pianificatore in grado di eseguire isolati in un momento specifico o X volte all'ora? Sto pensando alle linee di Quartz nel mondo di Java.
Dart ha alcune opzioni per le attività in ritardo e si ripetono, ma io non sono a conoscenza di un porto di quarzo per Dart (ancora ... :)
Qui sono i principi fondamentali:
Timer
- basta eseguire una funzione con un certo ritardoFuture
- più robusto, componibile, le funzioni che restituiscono i valori "in futuro"Stream
- robusti, ruscelli componibili di eventi. Può essere periodicoSe si dispone di un'attività ricorrente, si consiglia di utilizzare Stream over Timer. Il timer non ha la gestione degli errori integrata, quindi le eccezioni non rilevate possono far cadere l'intero programma (Dart non ha un gestore di errori globale).
Ecco come si utilizza un Stream per produrre risultati periodici:
import 'dart:async';
main() {
var stream = new Stream.periodic(const Duration(hours: 1), (count) {
// do something every hour
// return the result of that something
});
stream.listen((result) {
// listen for the result of the hourly task
});
}
È specificamente chiedere di isolati. È possibile generare un isolato all'avvio del programma e inviarlo un messaggio ogni ora. Oppure, è possibile generare l'isolato all'avvio del programma e l'isola stessa può eseguire il proprio timer o flusso periodico.