feat: media-send pacing na élke send (niet alleen tussen pagina's)
MEDIA_SEND_DELAY_MS pauzeert nu centraal in sendImageMessage ná elke media-send, zodat ook afbeeldingen naar verschillende ontvangers niet overlappen in de ene chromium-tab (staged-ghost race-risico). Per-pagina delay uit messageHandler verwijderd.
This commit is contained in:
parent
4360a0f46e
commit
7673239933
5 changed files with 83 additions and 20 deletions
|
|
@ -68,20 +68,16 @@ async function handleWebhook(payload) {
|
|||
return
|
||||
}
|
||||
|
||||
// Pacing gebeurt nu centraal in sendImageMessage (na élke media-send), zodat óók
|
||||
// afbeeldingen naar verschillende ontvangers niet overlappen in de ene chromium-tab.
|
||||
const pngPaths = getPngFilePaths(dienst)
|
||||
if (!pngPaths || pngPaths.length === 0) {
|
||||
await sendTextMessage(author, `Geen pagina's gevonden voor dienst ${dienstnummer}.`)
|
||||
return
|
||||
}
|
||||
|
||||
// Defensieve spreiding tussen pagina's (niet vóór de eerste): verlaagt de kans op
|
||||
// gelijktijdige storage/upload-conflicten in de wwebjs-media-pipeline.
|
||||
const mediaSendDelayMs = parseInt(process.env.MEDIA_SEND_DELAY_MS, 10) || 500
|
||||
for (let i = 0; i < pngPaths.length; i++) {
|
||||
const pngPath = pngPaths[i]
|
||||
if (i > 0 && mediaSendDelayMs > 0) {
|
||||
await new Promise(resolve => setTimeout(resolve, mediaSendDelayMs))
|
||||
}
|
||||
const filename = pngPath.split('/').pop()
|
||||
try {
|
||||
await sendImageMessage(author, pngPath, filename)
|
||||
|
|
|
|||
Loading…
Reference in a new issue