Docs: payment event ledger and its CSV export on the backup server
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -566,6 +566,9 @@ anyone who can read this repo can forge a token for any user.**
|
|||||||
نه `/etc`) سقفِ چیزی است که در قطعیِ ۲۴۷ روی دیسکِ ۲۴۹ جمع میشود. قطعیِ طولانیتر اسلات را `lost` میکند (رویه در docs).
|
نه `/etc`) سقفِ چیزی است که در قطعیِ ۲۴۷ روی دیسکِ ۲۴۹ جمع میشود. قطعیِ طولانیتر اسلات را `lost` میکند (رویه در docs).
|
||||||
- **پایش:** `OFFSITE_WAL_SLOT=zareian_247` در `.env`ِ ۲۴۹؛ `/api/health` (با کلید) `offsiteBackup` و هشدار میدهد
|
- **پایش:** `OFFSITE_WAL_SLOT=zareian_247` در `.env`ِ ۲۴۹؛ `/api/health` (با کلید) `offsiteBackup` و هشدار میدهد
|
||||||
(`config/tests_offsite_backup.py`). شکستِ نسخهی روزانه فقط در `journalctl -u zareian-pg-basebackup`ِ ۲۴۷ دیده میشود.
|
(`config/tests_offsite_backup.py`). شکستِ نسخهی روزانه فقط در `journalctl -u zareian-pg-basebackup`ِ ۲۴۷ دیده میشود.
|
||||||
|
- **دفترِ خرید** (`payment.PaymentEvent`، از ۲۰۲۶-۱۰-۱۳، `44ad2ea`): هر قدمِ خرید یک ردیف؛ با WAL به ۲۴۷ میرود و هر ۶ ساعت
|
||||||
|
`zareian-pg-export-events` آن را (با سفارش/تراکنش) CSV در `~/zareian-pgbackup/payment-log/` میکند. سنجیده: کالبکِ جعلی روی ۲۴۹ → ردیف → CSVِ ۲۴۷.
|
||||||
|
نسنجیده: یک خریدِ واقعی تا آخر. شرح: `docs/operations.md` «دفترِ خرید».
|
||||||
- **سنجیده (۲۰۲۶-۱۰-۱۰):** کلید شِل نمیگیرد و تونل به پورتِ دیگر رد میشود؛ `restore-check.sh` روی ۲۴۷ شمارش و آخرین
|
- **سنجیده (۲۰۲۶-۱۰-۱۰):** کلید شِل نمیگیرد و تونل به پورتِ دیگر رد میشود؛ `restore-check.sh` روی ۲۴۷ شمارش و آخرین
|
||||||
زمانِ کاربر/ورود/سفارش/تراکنش/تغییرِ وضعیت را برابرِ ۲۴۹ داد؛ یک ردیفِ آزمایشی که بعد از نسخهی کامل روی ۲۴۹ نوشته شد
|
زمانِ کاربر/ورود/سفارش/تراکنش/تغییرِ وضعیت را برابرِ ۲۴۹ داد؛ یک ردیفِ آزمایشی که بعد از نسخهی کامل روی ۲۴۹ نوشته شد
|
||||||
۲ ثانیه بعد در بازیابیِ ۲۴۷ بود (جدولش پاک شد). **نسنجیده:** ریبوتِ ۲۴۷، قطعیِ طولانی تا `lost`، اجرای خودکارِ timer
|
۲ ثانیه بعد در بازیابیِ ۲۴۷ بود (جدولش پاک شد). **نسنجیده:** ریبوتِ ۲۴۷، قطعیِ طولانی تا `lost`، اجرای خودکارِ timer
|
||||||
|
|||||||
@@ -82,6 +82,19 @@ curl -i https://mathapi.tadrisino2.ir/api/health
|
|||||||
|
|
||||||
بکاپِ شبانهی جداگانه (`backup_db` با cron) حذف شد: کپیِ زنده همان کار را بهتر میکند و ایمیجِ روزانه را ادمین دارد.
|
بکاپِ شبانهی جداگانه (`backup_db` با cron) حذف شد: کپیِ زنده همان کار را بهتر میکند و ایمیجِ روزانه را ادمین دارد.
|
||||||
|
|
||||||
|
### دفترِ خرید (`PaymentEvent`) روی هر دو سرور
|
||||||
|
|
||||||
|
هر قدمِ مسیرِ خرید یک ردیف در جدولِ `payment_paymentevent` مینویسد (`payment/events.py`): `order_created`،
|
||||||
|
`discount_applied`، `gateway_redirect`، `gateway_request_failed`، `callback_received`، `callback_unknown_authority`،
|
||||||
|
`payment_result` (همهی مسیرها: کالبک، بازسنجی، بازار، تمدیدِ بازار، کدِ ۱۰۰٪؛ با `ignored` برای تکراری/جعلی)،
|
||||||
|
`bazaar_start`، `admin_cancel`، `admin_refund`. توکنِ خریدِ بازار در آن نمیرود. ادمین: «Payment events» (فقطخواندنی).
|
||||||
|
|
||||||
|
چون جدول در همان Postgres است با WAL لحظهای به ۲۴۷ میرسد. روی ۲۴۷، `zareian-pg-export-events.timer`
|
||||||
|
(۰۱:۱۵، ۰۷:۱۵، ۱۳:۱۵، ۱۹:۱۵) با `bin/export-payment-events.sh` از روی همان بکاپ (نمونهی موقت روی سوکتِ داخلِ پوشه،
|
||||||
|
بیاتصال به ۲۴۹ یا Postgresِ دیگران) سه CSVِ تجمعی در `~/zareian-pgbackup/payment-log/` مینویسد:
|
||||||
|
`payment-events-*`، `orders-*`، `transactions-*`؛ ۱۴ تای آخرِ هر نوع میماند. شکستش در
|
||||||
|
`journalctl -u zareian-pg-export-events`ِ ۲۴۷. زیرِ ۳ گیگ فضای آزاد اجرا نمیشود.
|
||||||
|
|
||||||
### کپیِ زنده چطور کار میکند
|
### کپیِ زنده چطور کار میکند
|
||||||
|
|
||||||
Postgres هر تغییر را اول در یک دفترِ پیوسته (WAL) مینویسد. سرورِ ۲۴۷ این دفتر را با ابزارِ خودِ Postgres
|
Postgres هر تغییر را اول در یک دفترِ پیوسته (WAL) مینویسد. سرورِ ۲۴۷ این دفتر را با ابزارِ خودِ Postgres
|
||||||
|
|||||||
Reference in New Issue
Block a user