* feat(docs): mirror every docs/ page in all 65 locales Extends the documentation mirrors from the 22-page core set (#13940) to every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors (6,208 new), language bars rewritten for the full locale list, state adopted so the blocking drift gate now covers all 152 pages. run-translation.mjs: an oversized block made only of table rows or list items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is cut at item boundaries and rejoined without a blank line — the single 16-40 KB request outlived the backend socket for verbose scripts. 48 older mirrors whose tables had lost rows were retranslated with --force. * docs(i18n): refresh mirrors for the sources the base changed since the branch cut Section-level retranslation of the 29 docs (and README.md) whose source or mirrors moved on release/v3.8.51 during the run, then state adoption; the drift gate is green again on the merged tree.
11 KiB
SQLite Runtime Resolution (ਪੰਜਾਬੀ)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
OmniRoute ਸ਼ੁਰੂਆਤ ਵੇਲੇ 5-ਪੜਾਅ ਵਾਲੀ ਫਾਲਬੈਕ ਲੜੀ ਰਾਹੀਂ ਆਪਣੇ SQLite ਡਰਾਈਵਰ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ:
-
ਬੰਡਲ ਕੀਤਾ
better-sqlite3(package.jsonਵਿੱਚdependenciesਰਾਹੀਂ) — ਸਭ ਤੋਂ ਤੇਜ਼, ਨੇਟਿਵ ਬਾਈਨਰੀ, ਬਿਲਡ ਟੂਲ ਉਪਲਬਧ ਹੋਣ 'ਤੇnpm installਦੁਆਰਾ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। -
ਰਨਟਾਈਮ 'ਤੇ ਇੰਸਟਾਲ ਕੀਤਾ
better-sqlite3(~/.omniroute/runtime/ਵਿੱਚ) — ਪਹਿਲੀ ਵਾਰ ਚਲਾਉਣ ਸਮੇਂ ਜਾਂscripts/build/postinstall.mjs → scripts/postinstall.mjsਦੁਆਰਾ ਲੋੜ ਪੈਣ 'ਤੇ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਲੋਡ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਨੇਟਿਵ.nodeਮੈਜਿਕ ਬਾਈਟਾਂ (ELF / Mach-O / PE) ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ, ਤਾਂ ਜੋ ਖ਼ਰਾਬ ਜਾਂ ਗਲਤ ਪਲੇਟਫਾਰਮ ਵਾਲੀਆਂ ਬਾਈਨਰੀਆਂ ਤੋਂ ਸੁਰੱਖਿਆ ਕੀਤੀ ਜਾ ਸਕੇ। -
node:sqlite(Node ≥22.5 stdlib) — ਕਿਸੇ ਨੇਟਿਵ ਬਿਲਡ ਦੀ ਲੋੜ ਨਹੀਂ; ਜਦੋਂ better-sqlite3 ਦੇ ਦੋਵੇਂ ਮਾਰਗ ਅਸਫਲ ਹੋ ਜਾਣ ਤਾਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਸੀਮਤ ਫੀਚਰ ਸੈੱਟ। -
sql.js(WASM) — ਆਖਰੀ ਫਾਲਬੈਕ। ਹਰ ਜਗ੍ਹਾ ਕੰਮ ਕਰਦਾ ਹੈ ਪਰ ਹੌਲਾ ਹੈ ਅਤੇ ਡਾਟਾ ਸਮਕਾਲੀ ਢੰਗ ਨਾਲ ਲਿਖਣ ਦੀ ਬਜਾਏ ਨਿਰਧਾਰਤ ਅੰਤਰਾਲਾਂ 'ਤੇ ਲਿਖਦਾ ਹੈ।
ਇਹ ਜਟਿਲਤਾ ਕਿਉਂ?
- Windows EBUSY: ਜੇ ਪਿਛਲੇ ਵਰਜਨ ਦਾ
better_sqlite3.nodeਕਿਸੇ ਚੱਲ ਰਹੀ ਪ੍ਰਕਿਰਿਆ ਦੁਆਰਾ ਲੌਕ ਕੀਤਾ ਹੋਵੇ ਤਾਂnpm install -g omniroute@latestਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ।~/.omniroute/runtime/ਵਿੱਚ ਰਨਟਾਈਮ ਇੰਸਟਾਲੇਸ਼ਨ ਗਲੋਬਲ npm ਕੈਸ਼ ਤੋਂ ਬਚ ਕੇ ਨਿਕਲ ਜਾਂਦੀ ਹੈ। - ਕੋਈ ਬਿਲਡ ਟੂਲ ਨਹੀਂ: ਕੁਝ ਵਾਤਾਵਰਣ (
VS Build Toolsਤੋਂ ਬਿਨਾਂ ਕਾਰਪੋਰੇਟ Windows, ਘੱਟੋ-ਘੱਟ Docker ਇਮੇਜਾਂ)better-sqlite3ਨੂੰ ਕੰਪਾਇਲ ਨਹੀਂ ਕਰ ਸਕਦੇ। ਰਨਟਾਈਮ ਇੰਸਟਾਲਰ npm ਰਜਿਸਟਰੀ ਤੋਂ ਪਹਿਲਾਂ ਤੋਂ ਬਿਲਡ ਕੀਤੀ ਬਾਈਨਰੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ; ਫਾਲਬੈਕ ਡਰਾਈਵਰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ ਇਸ ਦੇ ਅਸਫਲ ਹੋਣ 'ਤੇ ਵੀ OmniRoute ਸ਼ੁਰੂ ਹੋ ਸਕੇ। - ਏਅਰ-ਗੈਪਡ ਸਿਸਟਮ: ਜੇ npm ਰਜਿਸਟਰੀ ਤੱਕ ਪਹੁੰਚ ਨਾ ਹੋਵੇ, ਤਾਂ
node:sqliteਜਾਂsql.jsਬੁਨਿਆਦੀ ਕਾਰਜਕੁਸ਼ਲਤਾ ਦੀ ਗਾਰੰਟੀ ਦਿੰਦੇ ਹਨ।
ਮੈਜਿਕ-ਬਾਈਟ ਪ੍ਰਮਾਣਿਕਤਾ
ਰਨਟਾਈਮ 'ਤੇ ਇੰਸਟਾਲ ਕੀਤੀ .node ਫਾਈਲ ਨੂੰ ਲੋਡ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, OmniRoute ਪਹਿਲੀਆਂ 8
ਬਾਈਟਾਂ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਜਾਣੇ-ਪਛਾਣੇ ਪਲੇਟਫਾਰਮ ਮੈਜਿਕ ਨਾਲ ਮਿਲਾਉਂਦਾ ਹੈ:
| ਪਲੇਟਫਾਰਮ | ਬਾਈਟਾਂ (hex) | ਲੇਬਲ |
|---|---|---|
| Linux | 7F 45 4C 46 |
elf |
| macOS 64-bit BE | FE ED FA CF |
macho |
| macOS 64-bit LE | CF FA ED FE |
macho-le |
| macOS fat (ਯੂਨੀਵਰਸਲ) | CA FE BA BE |
macho-fat |
| Windows | 4D 5A (MZ) |
pe |
ਮੈਜਿਕ ਮੇਲ ਨਾ ਖਾਣ 'ਤੇ → ਫਾਈਲ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਫਾਲਬੈਕ ਅਗਲੇ ਪੜਾਅ 'ਤੇ ਜਾਰੀ ਰਹਿੰਦਾ ਹੈ।
ਸਰਗਰਮ ਡਰਾਈਵਰ ਦੀ ਜਾਂਚ
import { getDriverInfo } from "@/lib/db/core";
const info = getDriverInfo();
// { source: "bundled" | "runtime" | "runtime-installed-now" | "node-sqlite" | "sql-js",
// kind: "better-sqlite3" | "node-sqlite" | "sql-js" }
ਹੱਥੀਂ ਨਿਯੰਤਰਣ
# ਤੇਜ਼ CI ਇੰਸਟਾਲੇਸ਼ਨਾਂ ਲਈ postinstall ਵਾਰਮ-ਅੱਪ ਛੱਡੋ
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute
# ਰਨਟਾਈਮ better-sqlite3 ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਮੁੜ ਇੰਸਟਾਲ ਕਰੋ
rm -rf ~/.omniroute/runtime
omniroute # ਅਗਲੀ ਸ਼ੁਰੂਆਤ 'ਤੇ ਮੁੜ ਇੰਸਟਾਲ ਹੋਵੇਗਾ
# ਜਾਂਚੋ ਕਿ ਕਿਹੜਾ ਡਰਾਈਵਰ ਸਰਗਰਮ ਹੈ
omniroute config db-info # (ਜੇ CLI ਕਮਾਂਡ ਮੌਜੂਦ ਹੈ)
ਹਵਾਲਾ
ਲਾਗੂਕਰਨ:
bin/cli/runtime/magicBytes.mjs— ਬਾਈਨਰੀ ਮੈਜਿਕ-ਬਾਈਟ ਪ੍ਰਮਾਣਿਕਤਾ ਸਹਾਇਕbin/cli/runtime/sqliteRuntime.mjs— 5-ਪੜਾਅ ਵਾਲਾ ਰਨਟਾਈਮ ਰਿਜ਼ਾਲਵਰ + ਲੇਜ਼ੀ ਇੰਸਟਾਲਰbin/cli/runtime/index.mjs— ਸ਼ੁਰੂਆਤੀ ਔਰਕੈਸਟ੍ਰੇਟਰ (warmUpRuntimes())scripts/postinstall.mjs— npm ਪੋਸਟ-ਇੰਸਟਾਲ ਹੁੱਕ (ਗੈਰ-ਘਾਤਕ ਵਾਰਮ-ਅੱਪ)src/lib/db/core.ts—ensureDbInitialized()/getDriverInfo()ਐਕਸਪੋਰਟ
ਸਿੰਗਲ-ਰਾਈਟਰ ਟੋਪੋਲੋਜੀ (HA ਸਮਰਥਿਤ ਨਹੀਂ)
ਉੱਪਰ ਦਿੱਤੀ ਡਰਾਈਵਰ ਫਾਲਬੈਕ ਲੜੀ ਫਿਰ ਵੀ ਇੱਕ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਚੱਲਦੀ ਹੈ। ਡਿਫਾਲਟ SQLite ਵਾਲਾ OmniRoute ਇੱਕ ਸਿੰਗਲ ਰਾਈਟਰ ਹੈ:
- ਦੋ OmniRoute ਰੈਪਲਿਕਿਆਂ ਨੂੰ ਇੱਕੋ
storage.sqliteਫਾਈਲ ਨਾਲ ਨਾ ਜੋੜੋ। - ਕੰਟੇਨਰ ਰੀਸਟਾਰਟ, Recreate ਡਿਪਲੌਇ, OOM kill, ਜਾਂ HEALTHCHECK ਰੀਸਟਾਰਟ ਹਰ ਚੱਲ ਰਹੇ SSE ਸੈਸ਼ਨ ਨੂੰ ਖਤਮ ਕਰ ਦਿੰਦਾ ਹੈ। ਮਿਆਰੀ ਮਾਰਗ 'ਤੇ ਕੋਈ ਸੈਸ਼ਨ ਡਰੇਨ ਨਹੀਂ ਹੁੰਦਾ।
- ਜੇ ਔਰਕੈਸਟ੍ਰੇਟਰ ਲਾਈਵਨੈੱਸ ਹੌਲੇ
/healthzਨੂੰ ਬੰਦ ਸਮਝਦੀ ਹੈ, ਤਾਂ ਇਹ ਇਕੱਲੇ ਰੈਪਲਿਕੇ ਨੂੰ ਖਤਮ ਕਰ ਦੇਵੇਗੀ। TCP ਲਾਈਵਨੈੱਸ + HTTP/healthzਰੈਡੀਨੈੱਸ ਨੂੰ ਤਰਜੀਹ ਦਿਓ। ਵੇਖੋ Docker ਗਾਈਡ — ਉਪਲਬਧਤਾ ਅਤੇ Kubernetes ਪ੍ਰੋਬ ਸਿਫ਼ਾਰਸ਼ਾਂ।