Μετάβαση στο περιεχόμενο

Επιλογές

Όλες οι επιλογές με μια ματιά. Κάθε μία συνδέεται με τον οδηγό που την εξηγεί.

new Scheduler(options). Το backend είναι υποχρεωτικό: δεν υποτίθεται κανένα store. Οδηγός: Επιλογές Scheduler.

Επιλογή Τύπος Προεπιλογή Σημασία
backend Backend υποχρεωτικό Πού διεκδικούνται και καταγράφονται οι εκτελέσεις
instanceId string hostname:pid Όνομα αυτού του instance στο ιστορικό
name string κανένα Όνομα με το οποίο οι εργασίες με decorators επιλέγουν αυτόν τον scheduler
data τιμή ή συνάρτηση κανένα Δεδομένα για τις εκτελέσεις κάθε εργασίας, που διαβάζονται ως ctx.data
jitterMs number 2000 Προεπιλεγμένη μέγιστη τυχαία καθυστέρηση πριν από τη διεκδίκηση
maxLateMs number 60000 Προεπιλεγμένο όριο καθυστέρησης
historySize number 1000 Προεπιλεγμένος αριθμός εκτελέσεων που διατηρούνται ανά εργασία
historyTtlMs number κανένα Προεπιλεγμένη μέγιστη διάρκεια ζωής ιστορικού
timezone string του διακομιστή Προεπιλεγμένη ζώνη ώρας για εργασίες cron
leaseMs number 30000 Πόσο διαρκεί μια μίσθωση χωρίς heartbeat
heartbeatMs number 5000 ή leaseMs / 6 Πόσο συχνά ανανεώνεται η μίσθωση και ελέγχουν τα εφεδρικά instances
log boolean false Μία γραμμή καταγραφής ανά έναρξη, ολοκλήρωση, αποτυχία, παράλειψη και χαμένη εκτέλεση
logger Logger console Πού καταλήγουν τα logs και τα μη διαχειρίσιμα σφάλματα
unrefTimers boolean false Επιτρέπει στη διεργασία να τερματίσει ενώ εκκρεμούν χρονόμετρα

Το τελευταίο όρισμα των every(), cron() και at(). Οδηγός: Επιλογές εργασιών.

Επιλογή Τύπος Προεπιλογή Μόνο σε lease backend Σημασία
jitterMs number του scheduler, ή διάστημα / 4 εάν είναι μικρότερο Μέγιστη τυχαία καθυστέρηση πριν από τη διεκδίκηση
maxLateMs number του scheduler Παράλειψη εκτέλεσης εάν ξεκινήσει αργότερα από αυτό
timeoutMs number κανένα Ακύρωση του ctx.signal και αποτυχία της εκτέλεσης μετά από αυτό το διάστημα
overlap 'skip' | 'allow' 'skip' ναι Παράλειψη εκτέλεσης όσο η προηγούμενη βρίσκεται σε εξέλιξη, ή αποδοχή και των δύο
maxAttempts number (1 έως 100) 3 ναι Φορές που μπορεί να ξεκινήσει μια εκτέλεση όταν οι runners καταρρέουν
catchUpMs number 300000 ναι Κατά την εκκίνηση, εκτέλεση της τελευταίας θυρίδας εάν χάθηκε και έπρεπε να τρέξει πριν από λιγότερο από αυτό το διάστημα. 0 = ποτέ
historySize number του scheduler Εκτελέσεις που διατηρούνται για αυτή την εργασία
historyTtlMs number του scheduler Μέγιστη διάρκεια ζωής ιστορικού αυτής της εργασίας
data τιμή ή συνάρτηση κανένα Δεδομένα για τις εκτελέσεις αυτής της εργασίας, που διαβάζονται ως ctx.data. Πάνω από του scheduler
offsetMs number 0 Μόνο στο every(): μετατοπίζει το πλέγμα
timezone string του scheduler Μόνο στο cron(): IANA ζώνη ώρας
Περιορισμός Ελέγχεται όταν
jitterMs < το μισό του χρόνου μεταξύ των εκτελέσεων Προστίθεται η εργασία
maxLateMs > jitterMs Προστίθεται η εργασία
jitterMs + maxLateMs < για πόσο διάστημα το backend θυμάται μια εκτέλεση Προστίθεται η εργασία
heartbeatMs < το μισό του leaseMs Δημιουργείται ο scheduler
Μεσοδιάστημα του every() τουλάχιστον 1 δευτερόλεπτο Προστίθεται η εργασία

Οι επιλογές των @Every, @Cron και @At είναι οι παραπάνω επιλογές εργασιών, συν αυτές. Οδηγός: Decorators.

Επιλογή Τύπος Προεπιλογή Σημασία
name string Class-method Το όνομα της εργασίας, όταν δεν είναι το πρώτο όρισμα
scheduler string ή Scheduler ο προεπιλεγμένος scheduler Ο scheduler στον οποίο πηγαίνει η εργασία. Ένας ονομασμένος δημιουργείται από τις ρυθμίσεις του αν δεν υπάρχει

scheduler.register(object, options).

Επιλογή Τύπος Προεπιλογή Σημασία
prefix string κανένα Μπαίνει μπροστά από κάθε όνομα εργασίας του αντικειμένου
defaults επιλογές εργασίας, με timezone κανένα Επιλογές εργασίας για κάθε εργασία του αντικειμένου. Οι επιλογές ενός decorator υπερισχύουν

Οι παραπάνω επιλογές του scheduler, με αυτές τις διαφορές. Αναφορά: Decorators.

Επιλογή Τύπος Προεπιλογή Σημασία
backend Backend ή (name) => Backend υποχρεωτικό Το backend, ή μια συνάρτηση που επιστρέφει ένα για το όνομα ενός scheduler
autoStart boolean false Εκκίνηση του scheduler όταν δημιουργείται
Επιλογή Τύπος Προεπιλογή Σημασία
timeoutMs number 30000 Πόσο χρόνο να περιμένει για τις εκτελούμενες εργασίες πριν επιστρέψει

new RedisBackend(options). Οδηγός: Redis και Valkey. Το new ValkeyBackend(options) δέχεται τις ίδιες, με valkey στη θέση του redis και χωρίς τη στρατηγική 'idmp'. Μια στρατηγική είναι ένα όνομα, ή { name, ...ρυθμίσεις } μόνο με τις ρυθμίσεις εκείνης της στρατηγικής.

Επιλογή Τύπος Προεπιλογή Σημασία
redis URL, { host, port, username, password, db }, ή client localhost:6379 Σύνδεση
strategy 'lease' | 'stream-id' | 'idmp' | 'script', ή { name, ...ρυθμίσεις } 'lease' Πώς επιλέγεται ένας νικητής
prefix string 'cron:' Πρόθεμα κλειδιού
strategy.durationSec number (1 έως 86400) 300 Μόνο { name: 'idmp' }: για πόσο θυμάται το ID μιας εκτέλεσης
strategy.maxSize number (1 έως 10000) 1000 Μόνο { name: 'idmp' }: πόσα ID εκτελέσεων διατηρούνται ανά εργασία
strategy.windowMs number 300000 Μόνο { name: 'script' }: για πόσο θυμάται μια διεκδικημένη εκτέλεση

new PostgresBackend(options). Οδηγός: PostgreSQL.

Επιλογή Τύπος Προεπιλογή Σημασία
connection connection string, pg Pool ή Client, postgres.js instance, ή { all, transaction } postgres://localhost:5432/postgres Σύνδεση
table string 'anarchon_runs' Όνομα πίνακα, μπορεί να περιλαμβάνει schema

new SqliteBackend(options). Οδηγός: SQLite και libSQL.

Επιλογή Τύπος Προεπιλογή Σημασία
database διαδρομή αρχείου, βάση δεδομένων node:sqlite ή better-sqlite3, client @libsql/client, ή { all, transaction } './anarchon.db' Βάση δεδομένων
table string 'anarchon_runs' Όνομα πίνακα
busyTimeoutMs number 5000 Πόσο χρόνο περιμένει μια εγγραφή για άλλη διεργασία

new RabbitMQBackend(options). Οδηγός: RabbitMQ.

Επιλογή Τύπος Προεπιλογή Σημασία
url string 'amqp://localhost' Το URL σύνδεσης AMQP
connection σύνδεση amqplib Δική σας σύνδεση
prefix string 'cron.' Πρόθεμα ονόματος ουράς
slotTtlMs number 300000 Για πόσο θυμάται μια εκτέλεση

new NatsBackend(options). Οδηγός: NATS.

Επιλογή Τύπος Προεπιλογή Σημασία
servers string | string[] 'nats://localhost:4222' URL ή URLs διακομιστή
connection σύνδεση NATS Δική σας σύνδεση
stream string 'CRON' Όνομα stream JetStream
prefix string 'cron.' Πρόθεμα subject
duplicateWindowMs number 300000 Για πόσο θυμάται μια εκτέλεση
historySize number 1000 Μηνύματα που διατηρούνται ανά subject
replicas number 1 Αντίγραφα (replicas) stream

Όπου ένα μεσοδιάστημα γίνεται δεκτό ως συμβολοσειρά:

Μονάδα Σημασία Παράδειγμα
ms χιλιοστά του δευτερολέπτου '500ms'
s δευτερόλεπτα '10s'
m λεπτά '35m'
h ώρες '1h30m'
d ημέρες '2d'

Οι μονάδες συνδυάζονται ('1h30m') και δέχονται δεκαδικά ('1.5h'). Ένας απλός αριθμός, ή μια συμβολοσειρά ψηφίων, είναι σε χιλιοστά του δευτερολέπτου.

Όλες οι υπόλοιπες επιλογές που καταλήγουν σε Ms δέχονται έναν αριθμό χιλιοστών του δευτερολέπτου.