-
Notifications
You must be signed in to change notification settings - Fork 110
Docs content for the throttle step #979
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
❌ Deploy Preview for docs-novu failed. Why did it fail? →
|
WalkthroughAdds a new Throttle Step documentation page and updates platform docs navigation to include it. No runtime code changed; only documentation and metadata updated. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant U as Workflow Engine
participant T as Throttle Step (docged)
participant S as Counter Store
participant D as Downstream Step
rect rgba(135,206,235,0.12)
U->>T: Invoke throttle check (payload, subscriber, window key)
T->>S: Read current count and window state
alt under threshold
S-->>T: count < threshold
T->>S: Increment count (create/extend window)
T-->>U: Allow execution
U->>D: Proceed to downstream step
else threshold reached
S-->>T: count >= threshold
T-->>U: Throttle (delay/skip per config)
Note right of U: Workflow paused or alternate branch taken
end
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (3)
public/images/workflows/dynamic-window.png
is excluded by!**/*.png
public/images/workflows/fixed-window.png
is excluded by!**/*.png
public/images/workflows/throttle-step-activity-feed.png
is excluded by!**/*.png
📒 Files selected for processing (2)
content/docs/platform/meta.json
(1 hunks)content/docs/platform/workflow/throttle-step.mdx
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build and Lint
🔇 Additional comments (1)
content/docs/platform/meta.json (1)
31-31
: Entry looks goodThe throttle step page is now discoverable alongside the other workflow docs, consistent with the existing slug conventions.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@@ -0,0 +1,82 @@ | |||
--- | |||
title: 'Throttle Step' | |||
description: 'Learn how to use the Throttle step in Novu workflows to control notification frequency.' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do not capitalize every instance of "throttle." Apply throughout.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Throttle is a feature in the UI, that was why it was capitalized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but you capitalize it in some places and not others. In this description, it is not clear whether you are explicitly talking about a UI thing (click Throttle step) or a generic thing (the throttle step exists and does useful stuff).
Co-authored-by: DianaHackmamba <[email protected]>
Co-authored-by: DianaHackmamba <[email protected]>
Co-authored-by: DianaHackmamba <[email protected]>
Co-authored-by: DianaHackmamba <[email protected]>
Co-authored-by: DianaHackmamba <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly, the only thing left is working out when "throttle" should be capitalized or not.
|
||
## Throttle window | ||
|
||
The throttle window defines the time period in which executions are counted. Within this window, only the specified number of executions are allowed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what I meant, Victor. Throttle is not capitalized in this paragraph, is in the next.
"Throttle step properties panel" looks like UI text, but "Throttle Window" capitalized here and not in the previous paragraph is inconsistent and confusing.
"throttleUntil": "2025-10-31T23:59:59Z" | ||
} | ||
``` | ||
2. **Duration Object**: This format throttles executions for a duration relative to the time of the first trigger. It follows the same structure as the fixed window configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. **Duration Object**: This format throttles executions for a duration relative to the time of the first trigger. It follows the same structure as the fixed window configuration. | |
2. **Duration object**: This format throttles executions for a duration relative to the time of the first trigger. It follows the same structure as the fixed window configuration. |
Summary by CodeRabbit