fix: Limit storage connection lifetime in worker - #74
Conversation
WalkthroughThe changes refactor the Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant WC as WorkerClient
participant Scope as RAII Scope
participant DB as Database
participant Logger as Logger
WC ->> Scope: Enter connection scope block
Scope ->> DB: Establish MySQL connection
DB -->> Scope: Return connection result (success or error)
alt Connection Error
Scope ->> Logger: Log error
Scope -->> WC: Return StorageErr
else Successful Connection
Scope -->> WC: Return MySqlConnection
WC ->> WC: Check active scheduler and process task
end
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms (3)
🔇 Additional comments (2)
✨ Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 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 (
|
Description
Worker keeps a storage connection object for the whole schedule task request and task execution. This pr limits the lifetime of storage connection to minimum for getting scheduler address only, and release the connection asap.
Checklist
breaking change.
Validation performed
Summary by CodeRabbit