Dokokin suna cikin sashen 7 na docs/architecture/23-ops.md da sashen 4.1 na
docs/architecture/07-data.md. Ga hanya.
Tabbacin da ke sa sabuntawa ya zama lafiya
Siga R tana aiki da tsari R da kuma R minus ɗaya. Ana raba kowane canjin tsari zuwa faɗaɗa, sauyi da takaita:
- Faɗaɗa: ƙara sabon shafi, tebur ko ma’aunin bincike. Tsohuwar lamba ba ta kula da shi.
- Sauyi, na aƙalla siga ɗaya: sabuwar lamba tana rubuta siffofin biyu kuma tana karanta sabon; aiki da za a iya ci gaba da shi yana cike tsoffin layuka.
- Takaita: cire tsohon tsari a wata siga ta gaba, shi kaɗai.
Saboda haka a kowane lokaci yayin sabuntawa a hankali, tsohuwar da sabuwar lamba za su iya amfani da ma’ajiya ɗaya. Babu ƙaura zuwa baya: ƙaura da ta share shafi awa guda da ta wuce ba za ta dawo da layukan da aka rubuta a wannan awa ba.
Aikin CI na schema-compat yana duba wannan tabbaci ga kowace siga ta gudanar da
gwaje-gwajen sigar da ta gabata a kan sabon tsarin.
Kafin ka fara
- Karanta bayanan sakin siga. Idan siga tana buƙatar lokacin gyara, za ta faɗi haka da kiyasin tsawon lokaci; ba za a samu fiye da ɗaya a kowane siga ba.
- Gudanar da atisayen maido, ko tabbatar an gudanar da shi cikin nasara ga wannan siga (backup-restore.md). Atisayen da ya gaza yana hana sabuntawa.
- Ɗauki ajiyar tushe:
docker compose -f docker/compose.yaml --profile backup run --rm backup.
Docker Compose, uwar garke ɗaya
export QUIRE_RELEASE=2026.10.0 # or set it in docker/.env
docker compose -f docker/compose.yaml pull # or build
docker compose -f docker/compose.yaml run --rm migrate
docker compose -f docker/compose.yaml up -d --no-deps web content collab
docker compose -f docker/compose.yaml up -d --no-deps worker schedulerTsarin yana da dalili:
- Yi ƙaura da farko, yayin da tsohuwar siga ke karɓar zirga-zirga. Ba a ga faɗaɗar ƙaura daga tsohuwar ba.
- Sashen yanar gizo na gaba. Idan aka aika SIGTERM, kowane tsarin yanar gizo
yana sauya
/readyzzuwadraining, ya kammala buƙatun da ke gudana cikin daƙiƙa 30, ya rufe rafuka tare da alamar sake haɗawa, sannan ya fita.stop_grace_perioddaƙiƙa 40 ne, saboda haka Compose ba ya katse tsarin da ke kammala rufewa lafiya. - Masu aiki na ƙarshe, domin a samar da sabon sifar taron kafin sabon mai karɓa ya jira ta. Masu aiki suna daina ɗauko aiki nan take kuma suna samun daƙiƙa 120; aikin da bai gama ba za a sake ɗauko shi wani wuri, abin da yake lafiya domin kowane aiki ba ya yin abu sau biyu. Mai tsara aiki yana miƙa jagoranci a zagayensa na gaba.
A uwar garke ɗaya, Compose yana maye gurbin kwantena ɗaya bayan ɗaya, don haka akwai ɗan tsaiko ga kowane sabis. Domin babu tsaiko kwata-kwata, gudanar da sashen yanar gizo a kwantena biyu bayan naka wakilin baya (fayil na override da ke ƙara sabis na biyu ba tare da buɗe tashar waje ba), sannan sake ƙirƙirar kowannensu ɗaya bayan ɗaya, kana jiran ya nuna lafiya kafin na gaba.
Masu shirya kwantena a uwar garke da dama
Yi amfani da tsari iri ɗaya: yi ƙaura sau ɗaya daga aiki guda, sannan sabunta
sashen yanar gizo da ƙarin kwantena guda ɗaya kuma babu mai katsewa, daga baya
masu aiki. Nuna gwajin shiri ga /readyz da gwajin rai ga /healthz.
Idan akwai ma’ajiyar bayanai ta musamman ga kowace ƙungiya, matakin migrate yana
yi duka: yana fara ƙaura ga ma’ajiyar sarrafawa, sannan ga kowace ma’ajiya a
ops.tenant_database, ɗaya bayan ɗaya ƙarƙashin makullinta. Kuskure a ma’ajiyar
ƙungiya ɗaya ba ya dakatar da sauran. Bayan an kammala dukkan ma’ajiyoyi, yana
kwatanta rajistar ƙaura kuma yana fita da lambar kuskure sai dukkan ma’ajiyoyi sun
yi daidai da waɗanda ma’ajiyar sarrafawa ta yi, yana kuma bayyana kowacce da ta
yi baya ko gaba. Haka nan umarni yana girka teburin jerin aiki a kowane ma’ajiya,
domin mai aiki yana cinye aikin ƙungiyar da aka keɓe daga inda aka rubuta shi.
bun apps/worker/src/migrate.ts # what the Compose step runs
bun run db:migrate:all # the same, from a checkoutAna isa ga kowace ma’ajiya ta musamman ta sunan rajistarta. Ma’ajiyar da aka
yi rajista da env:QUIRE_DB_NORTHWIND_URL tana buƙatar:
| Maɓalli | Ana amfani da shi ga |
|---|---|
QUIRE_DB_NORTHWIND_URL |
Matsayin manhaja, ga sashen yanar gizo da mai aiki |
QUIRE_DB_NORTHWIND_URL_MIGRATOR |
Matsayin mai ƙaura, ga wannan umarni da ƙaura |
QUIRE_DB_NORTHWIND_URL_SUPERUSER |
Zaɓi ne: sake amfani da matakan farawa (matsayi, tsare-tsari, mataimaka) kafin ƙaura |
Ana bayar da rahoton ma’ajiyar da aka yi rajista amma ba ta da haɗin _MIGRATOR
a matsayin kuskure, ba a tsallake ta ba. Sashen yanar gizo zai iya sabuntawa idan
an kammala ma’ajiyar sarrafawa. Sa’ar jinkiri a ma’ajiyar ƙungiya gargadi ne; jinkirin
kwana guda kuma yana aika gargaɗi mai tsanani.
pgvector
Daga ƙaura 0264, tarin bayanan da ake amfani da su wajen kafa amsa yana amfani da
ma’aunin pgvector HNSW idan uwar garke tana da ƙarin fasalin; an gina sabis na
postgres na Compose da shi (docker/postgres.Dockerfile). migrate na farko
bayan sauya hoton tsarin yana ƙirƙirar ƙarin fasalin ta matakin farawa na superuser;
0264 kuma tana ƙara shafi vector da aka samar da gina ma’aunin bincike. Ƙara shafin
yakan sake rubuta app.ai_chunk sau ɗaya ƙarƙashin makulli na musamman, saboda
haka buƙatun neman tushe suna jira; babu sauran abin da ke taɓa teburin.
A uwar garken da ba ta da pgvector, 0264 tana rubuta sanarwa ba tare da canji ba,
kuma neman bayanai yana ci gaba da zama daidai. Idan pgvector ya girmi 0.8,
ana gina shafi da ma’auni amma neman bayanai yana ci gaba da zama daidai har sai
an sabunta ƙarin fasalin (alter extension vector update), domin duba HNSW mai
tacewa yana buƙatar binciken jere na sigar 0.8. Domin kunna shi daga baya a uwar
garken da ba ta da shi, girka ƙarin fasalin, sake gudanar da matakin farawa (ko
create extension vector a matsayin superuser), sannan a matsayin quire_migrator:
set maintenance_work_mem = '1GB'; -- the HNSW build is much faster in memory
select ops.ai_chunk_enable_vector_index();Umarnin ba ya yin abu fiye da sau ɗaya kuma yana dawo da enabled ko unavailable.
Gudanar da shi a kowace ma’ajiya ta musamman ta ƙungiya ma.
Mayar da sigar baya
Mayar da lamba zuwa baya yana samuwa koyaushe: saita QUIRE_RELEASE zuwa
alamar sigar baya kuma sake up -d. Hakan yana aiki domin tsarin ya dace a duka
alkibla a cikin siga.
Ba a bayar da mayar da tsari zuwa baya ba. Abin da ba za a iya sokewa ba da yadda za a dawo daga gare shi:
| Ba za a iya sokewa ba | Hanyar dawowa |
|---|---|
| Ƙaura ta takaita da ta share shafi | Mayar da hoton lokaci kafin sharewa zuwa sabon ma’ajiya, ciro bayanai, haɗa su |
| Canjin bayanai a wuri | Haka nan, sannan daidaita rubutun da aka yi tun daga lokacin |
| Webhooks da tarurrukan da aka aika | Tarurrukan rama abin da ya faru, ba sharewa ba |
| Imel da aka aika | Mutum ne zai rubuta saƙon bin sawu |
| Sarkar hash ta tantancewa | Ba a sake rubuta ta; ƙara shigarwar gyara |
Shi ya sa ƙaura ta takaita ke zuwa ita kaɗai: maido da bayanai yana da iyaka bayyananniya.
Duba sabuntawa
docker compose -f docker/compose.yaml ps # every service healthy
curl -fsS http://localhost:8080/readyz # ready, and what is configured
docker compose -f docker/compose.yaml logs migrate # the migrations applied