mirror of
https://github.com/ReCloudStudio/WebHooker.git
synced 2026-09-22 16:11:29 +00:00
- Move oversized queue payloads from KV to R2 (PAYLOAD binding, webhooks/YYYY/MM/DD/*.json, KV queue:payload:* fallback)
- Persist routes/groups to D1 (d1_routes/d1_groups) with memory -> KV -> D1 three-tier cache, seeded from legacy KV config keys
- Move webhook dedup (dedup_keys), delivery state (delivery_state) and message tracking (message_tracking) to D1 via canUseD1 probe with automatic KV fallback
- Batch send_logs inserts (recordSendBatch) and add group_id/ts index
- Add storage-prune scheduled task for expired dedup/state/tracking rows
- Add TTL to invite:group:{id} index and audit all ephemeral KV keys
- Add D1 indexes for the new tables
- Sync AGENTS.md, README.md/zh and docs/ (en/zh) with the new storage layout
64 lines
1.1 KiB
JSON
64 lines
1.1 KiB
JSON
{
|
|
"name": "webhooker",
|
|
"account_id": "d157d30ef8fd945995f22bf99c5c67b9",
|
|
"main": ".output/server/index.mjs",
|
|
"compatibility_date": "2026-08-04",
|
|
"compatibility_flags": [
|
|
"nodejs_compat"
|
|
],
|
|
"build": {
|
|
"command": "bun run build"
|
|
},
|
|
"assets": {
|
|
"directory": "./.output/public",
|
|
"binding": "ASSETS",
|
|
"run_worker_first": true
|
|
},
|
|
"triggers": {
|
|
"crons": [
|
|
"*/5 * * * *"
|
|
]
|
|
},
|
|
"kv_namespaces": [
|
|
{
|
|
"binding": "KV",
|
|
"id": "a471e264837d4f51b077e078022f0cf0"
|
|
},
|
|
],
|
|
"r2_buckets": [
|
|
{
|
|
"binding": "PAYLOAD",
|
|
"bucket_name": "webhooker-payloads",
|
|
}
|
|
],
|
|
"d1_databases": [
|
|
{
|
|
"binding": "DB",
|
|
"database_name": "webhooker",
|
|
"database_id": "8af03c0a-2f18-467c-9c04-7761997cf20b"
|
|
},
|
|
],
|
|
"queues": {
|
|
"producers": [
|
|
{
|
|
"queue": "webhooker-delivery",
|
|
"binding": "QUEUE",
|
|
}
|
|
],
|
|
"consumers": [
|
|
{
|
|
"queue": "webhooker-delivery",
|
|
"max_batch_size": 10,
|
|
"max_batch_timeout": 30,
|
|
"max_retries": 5,
|
|
"dead_letter_queue": "webhooker-delivery-dlq"
|
|
},
|
|
{
|
|
"queue": "webhooker-delivery-dlq",
|
|
"max_batch_size": 10,
|
|
"max_batch_timeout": 30,
|
|
"max_retries": 1
|
|
}
|
|
]
|
|
},
|
|
}
|