---
title: "An tsraith ghréasáin ar Cloudflare Workers"
description: "Rith sraith ghréasáin laghdaithe Quire ar Cloudflare Workers."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/ga/llms.txt
> Use this file to discover all available pages before exploring further.

# An tsraith ghréasáin ar Cloudflare Workers

<span id="the-web-tier-on-cloudflare-workers"></span>

Tá an dearadh in alt 6 de `docs/architecture/23-ops.md`. Ritheann Workers sraith ghréasáin laghdaithe. Níl sé i gceist comhionannas iomlán gnéithe a bhaint amach ar Workers (PRD alt 12): diúltaítear nuair a thosaíonn sé do na rudaí nach féidir leis an sprioc seo a dhéanamh, agus ainmnítear iad.

## Stádas san eisiúint seo <!--quire:status-in-this-release-->

Tá an chumraíocht curtha i bhfeidhm (`apps/web/wrangler.jsonc`, réamhshocrú Nitro `cloudflare-module`, an droichead Hyperdrive agus seiceálacha tosaithe). Teastaíonn stóráil atá comhoiriúnach le S3 do R2 ó Worker (`QUIRE_STORAGE_DRIVER=s3`), tiománaí fíor-ama a oibríonn trasna iarratas (`QUIRE_REALTIME_DRIVER=durable_objects` nó `centrifugo`), taisce chomhroinnte (`QUIRE_CACHE_DRIVER=postgres` nó `valkey`) agus soláthraí ríomhphoist HTTP. Gan iad, diúltaíonn Worker tosú agus ainmníonn a log gach socrú atá ar iarraidh. Is cliant de chuid Worker fíor-ama in `apps/realtime-worker` é tiománaí Durable Objects (réad Durable amháin in aghaidh cainéil le haghaidh seolta, láithreachta agus staire, ceann amháin in aghaidh duine i gcás dícheangail); déan imscaradh leis taobh leis mar a leanas, nó úsáid Centrifugo.

## Na comhpháirteanna <!--quire:the-pieces-->

| Comhpháirt | Ar Cloudflare |
| --- | --- |
| `web` | Worker le `nodejs_compat` |
| Postgres | Seachtrach, inrochtana trí Hyperdrive: `HYPERDRIVE` do ról an fheidhmchláir, `REPORT_HYPERDRIVE` do ról na dtuarascálacha ar an mbunachar fisiciúil céanna. Cóipeálann an tsraith ghréasáin gach teaghrán ceangail isteach in `DATABASE_URL` agus `QUIRE_REPORT_DATABASE_URL` nuair a thosaíonn sí |
| Comhaid | R2 trína API S3 (`S3_ENDPOINT=https://<account>.r2.cloudflarestorage.com`); ceanglaíonn an ceangal `FILES` an buicéad |
| Jabanna cúlra | pg-boss trí Hyperdrive nuair is gá an jab a chur sa scuaine in éineacht le scríobh. Le `QUIRE_QUEUE_DRIVER=cloudflare` ar an bpróiseálaí compánach, téann jabanna éadroma (seachadtaí fógraí agus webhook nach bhfuil ordaithe) trí Cloudflare Queues ina ionad, ionas nach ndéantar vótáil orthu in Postgres. Ritheann an próiseálaí compánach an dá chineál |
| Fíor-am | Worker fíor-ama, `apps/realtime-worker`, le Durable Objects |
| `worker`, `scheduler`, `collab`, `content`, ClamAV, Gotenberg, ffmpeg | Óstach coimeádán compánach. Ní féidir le Worker iad a rith |
| Rianú | Breathnóireacht Workers, cumasaithe in `wrangler.jsonc` |

Soláthraíonn `REPORT_HYPERDRIVE` an ról tuairiscithe don bhunachar fisiciúil atá ainmnithe ag `HYPERDRIVE`. Ní fhreastalaíonn an sprioc seo ar thionóntaí atá pionnáilte do bhunachair fhisiciúla bhreise, mar a mhínítear thíos.

## Rudaí nach féidir leis an sprioc seo a dhéanamh <!--quire:what-this-target-cannot-do-->

Diúltaítear don tosú agus liostaítear gach fadhb láithreach:

- **Níl SMTP ar fáil.** Úsáid soláthraí HTTP in `QUIRE_EMAIL_PROVIDER_CONFIG`.
- **Níl diosca áitiúil ar fáil.** Caithfidh `QUIRE_STORAGE_DRIVER` stóráil oibiachtaí a ainmniú.
- **Níl fíor-am ná taisce sa phróiseas ar fáil.** Ní roinneann Workers cuimhne idir iarratais, mar sin diúltaítear do `QUIRE_REALTIME_DRIVER=inprocess` agus `QUIRE_CACHE_DRIVER=memory`.
- **Níl ClamAV, Gotenberg ná ffmpeg ar fáil sa Worker.** Diúltaítear do `CLAMAV_URL`, `GOTENBERG_URL` agus `FFMPEG_PATH` má shocraítear ar an Worker iad; socraigh ar an bpróiseálaí compánach iad ina ionad.
- **Níl eagraíochtaí a bhfuil bunachar sonraí tiomnaithe acu ar fáil.** Socraítear ceangail Hyperdrive Worker ag am imscartha, mar sin taispeántar leathanach soiléir "unavailable here" d'eagraíocht a bhfuil bunachar dá cuid féin aici. Freastalaigh uirthi ó Compose nó Vercel.

Agus rud amháin nach ndiúltaítear dó ach nach mór a bheith ar eolas: **ní oibríonn réamh-rindreáil ná athghiniúint incriminteach statach ar Workers**, is cuma cén comhairle atá i ndoiciméadacht an chreata. Rindreáiltear gach bealach ar iarratas.

Coinnigh idirbhearta gearr ar an sprioc seo agus ná coinnigh idirbheart thar ghlao líonra riamh: athshocraíonn Hyperdrive staid an tseisiúin nuair a fhilleann ceangal ar an gcomhthiomsú, mar sin socraítear comhthéacs an tionónta in aghaidh idirbhirt.

## Imscaradh <!--quire:deploying-->

1. Cruthaigh na hacmhainní:
   ```sh
   bun run --bun wrangler hyperdrive create quire-app --connection-string="postgres://quire_app:...@db.example.com:5432/quire"
   bun run --bun wrangler hyperdrive create quire-report --connection-string="postgres://quire_report:...@db.example.com:5432/quire"
   bun run --bun wrangler r2 bucket create quire-files
   bun run --bun wrangler queues create quire-jobs
   ```
   Cuir an dá aitheantas Hyperdrive in `apps/web/wrangler.jsonc`.
2. Socraigh na rúin ceann ar cheann le `bun run --bun wrangler secret put <NAME>` ó `apps/web`: `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`, `QUIRE_EMAIL_PROVIDER_CONFIG`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, `QUIRE_COLLAB_SIGNING_KEY`, `QUIRE_REALTIME_WORKER_SECRET`. Cuir gnáthshocruithe (`QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`, `QUIRE_PLATFORM_DOMAINS`, `QUIRE_DATABASE_ID`, `S3_ENDPOINT`, `S3_BUCKET`, `QUIRE_COLLAB_URL`) in `vars`.
3. Tóg agus imscar ó `apps/web`:
   ```sh
   NITRO_PRESET=cloudflare-module bun run build
   bun run --bun wrangler deploy
   ```
4. Déan Worker fíor-ama a imscaradh le rún `QUIRE_REALTIME_WORKER_SECRET` ón tsraith ghréasáin, agus rún chomhartha mar `QUIRE_REALTIME_TOKEN_SECRET` aige (síníonn an tsraith ghréasáin comharthaí fíor-ama lena `QUIRE_REALTIME_TOKEN_SECRET` féin nó le `QUIRE_SECRET_KEY` nuair nach bhfuil an socrú roimhe sin ann; úsáid cibé ceann atá in úsáid aici). Socraigh `QUIRE_REALTIME_WORKER_URL` ar an tsraith ghréasáin ar sheoladh an Worker:
   ```sh
   cd apps/realtime-worker
   bun run --bun wrangler secret put QUIRE_REALTIME_WORKER_SECRET
   bun run --bun wrangler secret put QUIRE_REALTIME_TOKEN_SECRET
   bun run --bun wrangler deploy
   ```
5. Chun jabanna éadroma a chur trí Cloudflare Queues, cruthaigh scuaine amháin do gach scuaine éadrom agus socraigh iad ar an bpróiseálaí compánach (comhartha API a bhfuil cead léite agus scríofa Queues aige):
   ```sh
   bun run --bun wrangler queues create quire-events-notifications
   bun run --bun wrangler queues create quire-events-notifications-dead
   bun run --bun wrangler queues create quire-events-webhooks
   bun run --bun wrangler queues create quire-events-webhooks-dead
   ```
   Socraigh `QUIRE_QUEUE_DRIVER=cloudflare`, `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_QUEUES_TOKEN`, agus `QUIRE_QUEUE_PREFIX` mura `quire-` atá i gceist.
6. Rith an t-óstach compánach mar a dhéantar i gcéim 3 den [treoir Vercel](/ga/ops/vercel/). Ritheann aistrithe ansin, roimh gach imscaradh Worker.

Má dhiúltaítear do chumraíocht, taispeántar é in `bun run --bun wrangler tail` mar "The web tier did not start on cloudflare", agus liostaítear gach socrú atá le hathrú ina dhiaidh.

Source: https://docs.quirelms.com/ga/ops/cloudflare/index.mdx
