format
This commit is contained in:
parent
d858222af7
commit
7d9044ab29
202 changed files with 10755 additions and 10972 deletions
41
.serena/memories/current_refactoring_context.md
Normal file
41
.serena/memories/current_refactoring_context.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# Current Refactoring Context
|
||||
|
||||
## Data Ingestion Service Refactor
|
||||
The project is currently undergoing a major refactoring to move away from singleton patterns to a dependency injection approach using service containers.
|
||||
|
||||
### What's Been Done
|
||||
- Created connection pool pattern with `ServiceContainer`
|
||||
- Refactored data-ingestion service to use DI container
|
||||
- Updated handlers to accept container parameter
|
||||
- Added proper resource disposal with `ctx.dispose()`
|
||||
|
||||
### Migration Status
|
||||
- QM handler: ✅ Fully migrated to container pattern
|
||||
- IB handler: ⚠️ Partially migrated (using migration helper)
|
||||
- Proxy handler: ✅ Updated to accept container
|
||||
- WebShare handler: ✅ Updated to accept container
|
||||
|
||||
### Key Patterns
|
||||
1. **Service Container**: Central DI container managing all connections
|
||||
2. **Operation Context**: Provides scoped database access within operations
|
||||
3. **Factory Pattern**: Connection factories for different databases
|
||||
4. **Resource Disposal**: Always call `ctx.dispose()` after operations
|
||||
|
||||
### Example Pattern
|
||||
```typescript
|
||||
const ctx = OperationContext.create('handler', 'operation', { container });
|
||||
try {
|
||||
// Use databases through context
|
||||
await ctx.mongodb.insertOne(data);
|
||||
await ctx.postgres.query('...');
|
||||
return { success: true };
|
||||
} finally {
|
||||
await ctx.dispose(); // Always cleanup
|
||||
}
|
||||
```
|
||||
|
||||
### Next Steps
|
||||
- Complete migration of remaining IB operations
|
||||
- Remove migration helper once complete
|
||||
- Apply same pattern to other services
|
||||
- Add monitoring for connection pools
|
||||
Loading…
Add table
Add a link
Reference in a new issue