← Cloudflare Queues / queues
Konfigurace Queues
Cloudflare Queues lze konfigurovat pomocí Wrangler, rozhraní příkazové řádky pro Cloudflare Developer Platform, které zahrnuje Workers, R2, a dalších produktů pro vývojáře.
Každý Worker producenta a konzumenta má Konfigurační soubor Wrangler který určuje proměnné prostředí, triggery a prostředky, jako je fronta. Aby bylo možné komunikaci mezi Workerem a prostředkem povolit, musíte nastavit binding v souboru Wrangler vašeho projektu Workeru.
Frontu nakonfigurujte pomocí níže uvedených možností.
Konfigurace fronty
Následující nastavení na úrovni fronty lze konfigurovat pomocí Wrangler:
npx wrangler queues update <QUEUE-NAME> --delivery-delay-secs 60 --message-retention-period-secs 3000-
--delivery-delay-secsnumberoptional- Jak dlouho je publikovaná zpráva zpožděna, než je doručena konzumentům.
- Musí být mezi 0 a 86400 (24 hodin).
- Výchozí hodnota je 0.
-
--message-retention-period-secsnumberoptional- Jak dlouho jsou zprávy uchovávány ve frontě.
- Výchozí hodnota je 345600 (4 dny).
- Musí být mezi 60 a 1209600 (14 dní)
Konfigurace producer Workeru
Producent je Cloudflare Worker který zapisuje do jedné nebo více front. Producent může přijímat zprávy přes HTTP, asynchronně zapisovat zprávy při zpracování požadavků a/nebo zapisovat do fronty z Durable Object. Do fronty může zapisovat jakýkoli Worker.
Chcete-li produkovat zprávy do fronty, nastavte binding v souboru Wrangler. Tato nastavení použijte v případě, že chce Worker odesílat zprávy do fronty.
{
"queues": {
"producers": [
{
"queue": "my-queue",
"binding": "MY_QUEUE"
}
]
}
}[[queues.producers]]
queue = "my-queue"
binding = "MY_QUEUE"-
queuestring- Název fronty.
-
bindingstring- Název bindingu, což je proměnná JavaScriptu.
Konfigurace Workeru pro konzumenta
Chcete-li odebírat zprávy z jedné nebo více front, nastavte binding v souboru Wrangler. Tyto možnosti použijte, pokud chce Worker přijímat zprávy z fronty.
{
"queues": {
"consumers": [
{
"queue": "my-queue",
"max_batch_size": 10,
"max_batch_timeout": 30,
"max_retries": 10,
"dead_letter_queue": "my-queue-dlq"
}
]
}
}[[queues.consumers]]
queue = "my-queue"
max_batch_size = 10
max_batch_timeout = 30
max_retries = 10
dead_letter_queue = "my-queue-dlq"Viz Limity a přehledněte si maximální hodnoty pro každou z těchto možností.
-
queuestring- Název fronty.
-
max_batch_sizenumberoptional- Maximální počet zpráv povolených v jedné dávce.
- Výchozí hodnota je
10zprávy.
-
max_batch_timeoutnumberoptional- Maximální počet sekund čekání, než se dávka naplní.
- Výchozí hodnota je
5sekund.
-
max_retriesnumberoptional- Maximální počet opakování pro zprávu, pokud selže nebo
retryAll()se vyvolá. - Výchozí hodnota je
3opakování.
- Maximální počet opakování pro zprávu, pokud selže nebo
-
dead_letter_queuestringoptional- Název jiné queue, do které se má zpráva odeslat, pokud její zpracování selže alespoň
max_retrieskrát. - Pokud
dead_letter_queuenení definován, zprávy, jejichž zpracování opakovaně selhává, budou nakonec zahozeny. - Pokud fronta se zadaným názvem neexistuje, vytvoří se automaticky.
- Název jiné queue, do které se má zpráva odeslat, pokud její zpracování selže alespoň
-
max_concurrencynumberoptional- Maximální počet souběžně běžících konzumentů. Pokud tuto hodnotu nenastavíte, počet volání se bude škálovat až na aktuálně podporované maximum.
- Viz Souběžnost konzumentů další informace o tom, jak se consumers automaticky škálují, zejména při opakování zpráv.
Pull-based
Fronta může mít konzumenta založeného na HTTP, který si zprávy z fronty stahuje. Tímto konzumentem může být jakákoli služba komunikující po internetu pomocí HTTP. Přečtěte si Pull consumers a zjistíte, jak nakonfigurovat spotřebitele na principu vyžádání (pull).