Επιλογές
Όλες οι επιλογές με μια ματιά. Κάθε μία συνδέεται με τον οδηγό που την εξηγεί.
Επιλογές Scheduler
Ενότητα με τίτλο «Επιλογές Scheduler»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 δευτερόλεπτο |
Προστίθεται η εργασία |
Επιλογές decorator
Ενότητα με τίτλο «Επιλογές decorator»Οι επιλογές των @Every, @Cron και @At είναι οι παραπάνω επιλογές εργασιών, συν αυτές. Οδηγός: Decorators.
| Επιλογή | Τύπος | Προεπιλογή | Σημασία |
|---|---|---|---|
name |
string |
Class-method |
Το όνομα της εργασίας, όταν δεν είναι το πρώτο όρισμα |
scheduler |
string ή Scheduler |
ο προεπιλεγμένος scheduler | Ο scheduler στον οποίο πηγαίνει η εργασία. Ένας ονομασμένος δημιουργείται από τις ρυθμίσεις του αν δεν υπάρχει |
Επιλογές register()
Ενότητα με τίτλο «Επιλογές register()»scheduler.register(object, options).
| Επιλογή | Τύπος | Προεπιλογή | Σημασία |
|---|---|---|---|
prefix |
string |
κανένα | Μπαίνει μπροστά από κάθε όνομα εργασίας του αντικειμένου |
defaults |
επιλογές εργασίας, με timezone |
κανένα | Επιλογές εργασίας για κάθε εργασία του αντικειμένου. Οι επιλογές ενός decorator υπερισχύουν |
Επιλογές Scheduler.configure()
Ενότητα με τίτλο «Επιλογές Scheduler.configure()»Οι παραπάνω επιλογές του scheduler, με αυτές τις διαφορές. Αναφορά: Decorators.
| Επιλογή | Τύπος | Προεπιλογή | Σημασία |
|---|---|---|---|
backend |
Backend ή (name) => Backend |
υποχρεωτικό | Το backend, ή μια συνάρτηση που επιστρέφει ένα για το όνομα ενός scheduler |
autoStart |
boolean |
false |
Εκκίνηση του scheduler όταν δημιουργείται |
Επιλογές stop()
Ενότητα με τίτλο «Επιλογές stop()»| Επιλογή | Τύπος | Προεπιλογή | Σημασία |
|---|---|---|---|
timeoutMs |
number |
30000 |
Πόσο χρόνο να περιμένει για τις εκτελούμενες εργασίες πριν επιστρέψει |
Επιλογές Redis / Valkey backend
Ενότητα με τίτλο «Επιλογές Redis / Valkey backend»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' }: για πόσο θυμάται μια διεκδικημένη εκτέλεση |
Επιλογές PostgreSQL backend
Ενότητα με τίτλο «Επιλογές PostgreSQL backend»new PostgresBackend(options). Οδηγός: PostgreSQL.
| Επιλογή | Τύπος | Προεπιλογή | Σημασία |
|---|---|---|---|
connection |
connection string, pg Pool ή Client, postgres.js instance, ή { all, transaction } |
postgres://localhost:5432/postgres |
Σύνδεση |
table |
string |
'anarchon_runs' |
Όνομα πίνακα, μπορεί να περιλαμβάνει schema |
Επιλογές SQLite backend
Ενότητα με τίτλο «Επιλογές SQLite backend»new SqliteBackend(options). Οδηγός: SQLite και libSQL.
| Επιλογή | Τύπος | Προεπιλογή | Σημασία |
|---|---|---|---|
database |
διαδρομή αρχείου, βάση δεδομένων node:sqlite ή better-sqlite3, client @libsql/client, ή { all, transaction } |
'./anarchon.db' |
Βάση δεδομένων |
table |
string |
'anarchon_runs' |
Όνομα πίνακα |
busyTimeoutMs |
number |
5000 |
Πόσο χρόνο περιμένει μια εγγραφή για άλλη διεργασία |
Επιλογές RabbitMQ backend
Ενότητα με τίτλο «Επιλογές RabbitMQ backend»new RabbitMQBackend(options). Οδηγός: RabbitMQ.
| Επιλογή | Τύπος | Προεπιλογή | Σημασία |
|---|---|---|---|
url |
string |
'amqp://localhost' |
Το URL σύνδεσης AMQP |
connection |
σύνδεση amqplib |
Δική σας σύνδεση | |
prefix |
string |
'cron.' |
Πρόθεμα ονόματος ουράς |
slotTtlMs |
number |
300000 |
Για πόσο θυμάται μια εκτέλεση |
Επιλογές NATS backend
Ενότητα με τίτλο «Επιλογές NATS backend»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 δέχονται έναν αριθμό χιλιοστών του δευτερολέπτου.