-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
kind/feature-requestNew feature or requestNew feature or request
Description
Background
--
We have created a dedicated subscription validation queue (see #895). We now need to replace the Azure Function that validates webhook subscriptions with a Wolverine handler that consumes messages from this queue.
References:
- Existing function:
src/Events.Functions/SubscriptionValidation.cs - Created queue: Switch SubscriptionService validation enqueue from Azure Storage Queue to Azure Service Bus #895
Goal
Create a Wolverine handler that:
- Consumes messages from the subscription validation queue.
- Sends the validation event to the external webhook.
- Updates the database with the validation result via
SubscriptionService. - Replaces the existing Azure Function logic in
SubscriptionValidation.cs.
Tasks
- Identify which message contracts are used for validation and where they are published.
- Implement a Wolverine handler that consumes messages from the subscription validation queue.
- Wire the handler to send the event to the external webhook.
- Update the validation result in the database via
SubscriptionService. - Phase out/replace
SubscriptionValidation.cs(and any bindings) so only the Wolverine handler is used. - Add/update relevant tests (unit/integration) for the handler.
- Update documentation/config if needed.
Discussion: retry strategy
We need to clarify how we handle retries on failures in the validation flow. Topics to discuss:
- Use Wolverine's built-in retry policy (backoff, max attempts, dead-letter).
- Distinguish between transient failures (temporary network issues, 5xx) and permanent failures (4xx/validation errors).
- Idempotency: ensure repeated attempts do not lead to inconsistent updates in
SubscriptionService. - Logging/telemetry: what to log during retries and when we give up.
- How to handle poison messages and alerting for operations.
Acceptance criteria
- The Wolverine handler consumes messages from the subscription validation queue.
- Webhook validation is sent to the external recipient.
- Validation results are persisted via
SubscriptionService. SubscriptionValidation.csis no longer in use.- Retry strategy is clarified and documented.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
kind/feature-requestNew feature or requestNew feature or request
Type
Projects
Status
✅ Done