Process Pending Jobs unable to complete within the initial retry. An AWS EventBridge will be setup up to trigger a lambda to perform the task to reprocess pending redaction jobs.
Create a scheduler job to check on pending documents (EventType - RedactionStatusPending) and trigger the Return Result API (Step 5).
Use EventBridge to trigger new lambda which invokes the integration API to reprocess documents (Checks for Status - EventType.RedactionStatusPending).
Research Info on Scheduler Jobs:
Description: Quartz NET is a powerful, open-source job scheduling library for .NET applications.
AWS Integration:
Manual Setup: You can deploy http://Quartz.NET on AWS infrastructure (e.g., EC2 instances) and configure it to run scheduled tasks.
Database: If you use http://Quartz.NET with a database (e.g., PostgreSQL on Amazon RDS), you’ll need to manage the database setup and maintenance.
Complexity: Requires manual setup and maintenance.
Use Cases:
Suitable for applications that require advanced scheduling features beyond what AWS provides out of the box.
Useful when you need fine-grained control over scheduling logic.
Can be used for distributed jobs (with clustering).
Example: You might use http://Quartz.NET for complex workflows or tasks that involve intricate scheduling rules.
Amazon EventBridge Scheduler:
Description: EventBridge Scheduler is a serverless scheduler provided by Amazon EventBridge.
Serverless and Managed: EventBridge Scheduler is fully managed by AWS, which means you don’t need to set up or maintain any infrastructure.
Scheduling Options:
Cron Expressions: EventBridge Scheduler supports cron expressions for recurring patterns.
Rate Expressions: Allows simpler schedules (e.g., every 5 minutes).
Integration:
Event-Driven: EventBridge Scheduler is part of the broader EventBridge service, which allows you to build event-driven architectures.
Targets: You can easily configure targets (e.g., SQS, SNS, AWS Lambda functions) for scheduled events.
Use Cases:
Ideal for serverless tasks that need to run on a schedule.
Efficient for lightweight scheduling needs.
Simplifies event-driven workflows.
Example: You might use EventBridge Scheduler to trigger an AWS Lambda function periodically or perform other time-based actions.
Check the audit table - CoralRedactionIntegrationLog for Pending Status EventType.Status - RedactionStatusPending
Get the CorralationId and invoke Integration API to Download result.
Update the status on the Audit table with response - Complete/Error.
Invoke Backend API SaveAutoRedaction with response.