Lewati ke konten utama

Setup dan Operasi

Semua perintah pada halaman ini dijalankan dari root external/datacore-extension.

Prasyarat​

  • Node.js 22 untuk menyamai image Docker; manifest root menggunakan pnpm 8.14.0.
  • PostgreSQL yang memiliki kv_cache_table, directus_collections, dan tabel sumber.
  • Redis jika sinkronisasi cache akan diaktifkan.
  • NATS dengan JetStream jika pembaruan realtime dan event keluar akan diaktifkan.
  • Producer CDC yang mengirim event ke pgcdc.public.> untuk pembaruan realtime.

Environment variables​

Worker membaca ../../.env, lalu .env relatif terhadap working directory proses.

VariableWajibDefaultFungsi
DB_HOSTYa-Host PostgreSQL.
DB_PORTYa-Port PostgreSQL.
DB_USERYa-User PostgreSQL.
DB_PASSWORDYa-Password PostgreSQL.
DB_DATABASEYa-Database PostgreSQL.
REDIS_ENABLEDTidaknonaktifHarus true untuk mengaktifkan Redis dan bootstrap cache.
REDIS_HOSTJika Redis aktif127.0.0.1Host Redis.
REDIS_PORTJika Redis aktif6379Port Redis.
REDIS_USERTidak-Username Redis.
REDIS_PASSWORDTidak-Password Redis.
REDIS_DBTidak0Nomor database Redis.
CACHE_PREFIXTidakkosongPrefix key config.*, misalnya dev.
NATS_ENABLEDTidaknonaktifMengaktifkan koneksi NATS dan alur realtime.
NATS_URLJika NATS aktif-URL server NATS.
NATS_KV_CACHE_PURGE_ON_STARTUPTidaknonaktifMenghapus bucket NATS KV saat startup; bucket ini berbeda dari Redis KV Cache yang dijelaskan di sini.

Jangan menyalin nilai credential dari .env.example ke environment produksi.

Menjalankan lokal​

corepack enable
pnpm install --frozen-lockfile
pnpm --filter worker-common dev

Build dan start​

pnpm --filter worker-common build
pnpm --filter worker-common start

Docker​

pnpm --filter worker-common docker:build
pnpm --filter worker-common docker:push

Image build menjalankan aplikasi dengan node dist/apps/worker-common/src/main.js.

Verifikasi minimum​

  1. Pastikan log memuat KV bootstrap sync completed dan Startup barrier opened.
  2. Periksa Redis set config.<cache_name>.index dan salah satu key config.<cache_name>.<id>; tambahkan CACHE_PREFIX: bila diaktifkan.
  3. Pastikan log subscription muncul untuk pgcdc.public.kv_cache_table dan tabel yang didaftarkan.
  4. Ubah satu row sumber dan pastikan cache row berubah serta event config.sync.changed diterbitkan.