Parallelize message processing and batch IMAP fetches #3
Labels
No labels
dep-scan
dep-scan
dep-scan
dep-scan
dep-scan
dep-scan
dep-scan
dep-scan
dep-scan
dep-scan/ignore
dep-scan/ignore
dep-scan/ignore
dep-scan/ignore
dep-scan/ignore
dep-scan/ignore
dep-scan/ignore
dep-scan/ignore
dep-scan/ignore
finding
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
mod-nag/ignore
nagonag
nagonag/ignore
bug
doc
duplicate
enhancement
help wanted
invalid
question
security
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
IUS/xr-invoiced#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Messages are processed sequentially: fetch → parse MIME → scan attachments → store flag. For large mailboxes this is slow because each
FetchMessageandAddFlagis a synchronous, blocking IMAP command.Proposal
UID FETCH <uid> BODY[]calls with a singleUID FETCH <set> BODY[]stream — the library returns messages as they arriveUID STORE <set> +FLAGS ($xrechnung)at the endNotes
sync.Mutex) so concurrent IMAP commands need careful sequencing or a command pipeline