-
-
Notifications
You must be signed in to change notification settings - Fork 728
fix: safe upserting of task queues during worker indexing #1858
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
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughThe changes modularize the task queue management logic and introduce new shared queue tasks. In Changes
Sequence Diagram(s)sequenceDiagram
participant Worker as createWorkerQueue
participant Helper as upsertWorkerQueueRecord
participant Prisma as Prisma Client
Worker ->> Helper: Request upsert of task queue
Helper ->> Prisma: Query existing task queue (findFirst)
alt Queue found
Prisma -->> Helper: Return existing queue record
Helper ->> Prisma: Update queue record (add/update worker connections)
else Queue not found
Prisma -->> Helper: No queue found
Helper ->> Prisma: Create new task queue record
end
alt Unique constraint error (P2002)
Helper ->> Helper: Retry up to three attempts
end
Helper -->> Worker: Return task queue record
sequenceDiagram
participant Test as sharedQueueTestTask
participant Queue as myQueue
participant Task as SharedTask
Test ->> Queue: Trigger batch of tasks
Queue -->> Task: Dequeue a task for execution
Task ->> Queue: Log start, process (waitSeconds), and complete task
Queue -->> Test: Return task execution result
Possibly related PRs
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (2)
✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit
Refactor
New Features