-
Notifications
You must be signed in to change notification settings - Fork 16
07 PLAN
phase: 03-transports plan: "7" wave: 2 dependencies: ["1"] must_haves:
- MemoryTransport.md consumer code uses ILogger pattern
- MemoryTransport.md links to ConsumerMethod (not ConsumerLinq)
- MemoryTransport.md clarifies NuGet package (built into DotNetWorkQueue core)
- MemoryTransport.md documents EnableHistory as the only configurable option files_touched:
- MemoryTransport.md tdd: false
Wave 2 -- Transport pages. Depends on Plan 1 (Transports overview). Can run in parallel with Plans 2-6.
Update `MemoryTransport.md` with these changes:
-
NuGet package clarification (line 21): The current page says "included in the core
DotNetWorkQueueNuGet package. No separate transport package needed." This is correct. However, add the actual init class reference for consistency with other transport pages. Update the line to:The init class is `MemoryMessageQueueInit`, included in the core `DotNetWorkQueue` NuGet package. No separate transport NuGet package is needed.
-
Consumer HandleMessages method (lines 57-60): The current code already uses
notifications.Log.LogDebug(...)which is the correct MEL ILogger pattern. Verify this is retained. -
Feature list correction (lines 6-7): The current page says "Delayed messages" and "Job scheduler" as supported features. However, per the source code, the Memory transport has
EnableDelayedProcessing = false(always). Remove "Delayed messages" from the supported features, or clarify that delayed processing is not natively supported but the job scheduler can still be used. Check the delayed messages section (lines 63-69) -- if the code sample works viaAdditionalMessageData.SetDelay(), keep it but note it may not be honored by the transport.Actually, re-checking: the
Delayed messagessection on lines 63-69 showsdata.SetDelay(TimeSpan.FromMinutes(5)). Since Memory transport hasEnableDelayedProcessing = falsepermanently, this delay would be ignored. Remove the "Delayed messages" section and the delayed messages code sample. Update the feature list to:It supports the following features: - History tracking (opt-in, the only configurable feature) - Job scheduler Queues don't need to be created before usage; storage is allocated on demand.
-
EnableHistory documentation: Add a new section after the limitations:
###### Options The Memory transport has only one configurable option: | Property | Type | Default | Notes | |----------|------|---------|-------| | `EnableHistory` | `bool` | `false` | The only settable feature flag | All other features (`EnablePriority`, `EnableStatus`, `EnableHeartBeat`, `EnableDelayedProcessing`, `EnableStatusTable`, `EnableRoute`, `EnableMessageExpiration`) are permanently `false`. When `EnableHistory` is `true`, the `HistoryOptions` property (type `HistoryTransportOptions`) controls retention. See [MessageHistory](https://github.com/blehnen/DotNetWorkQueue/wiki/MessageHistory) for the full list of history options.
-
Cross-references: Add after the consumer code sample (before the delayed messages section which will be removed):
For more consumer patterns, see [ConsumerMethod](https://github.com/blehnen/DotNetWorkQueue/wiki/ConsumerMethod) and [ConsumerAsync](https://github.com/blehnen/DotNetWorkQueue/wiki/ConsumerAsync).
-
No samples link: The DotNetWorkQueue.Samples repository does not have a Memory transport sample directory. Do not add a samples link.
Do NOT change: Producer code, Dashboard support section, or the limitation list (these are correct).
grep -i "DotNetWorkQueue.Logging.LogLevel|Log.Log(|ConsumerLinq|SetDelay" /mnt/f/git/dotnetworkqueue.wiki/MemoryTransport.md; echo "exit: $?" grep returns no matches (exit code 1). MemoryTransport.md has correct ILogger pattern, documents EnableHistory as the only configurable option, links to ConsumerMethod and MessageHistory, and does not have the misleading delayed messages section.For any issues please use the GitHub issues