Skip to content
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

Refactor HPCSocket for Modern Job Management and Better Reliability #770

Open
stevenweaver opened this issue Jan 21, 2025 · 0 comments
Open
Assignees

Comments

@stevenweaver
Copy link
Member

  1. Socket Connection Management
  • Replace callback-based connection handling with Promise/async-await pattern
  • Improve connection error handling and reconnection logic
  • Add timeout handling for stale connections
  1. Job Status Management
  • Implement atomic status updates to prevent race conditions
  • Add robust event handling for job lifecycle events
  • Improve job progress tracking and reporting
  1. Error Handling
  • Implement comprehensive error classification
  • Add proper error recovery mechanisms
  • Improve error reporting and logging
  • Add retry logic for recoverable errors
  1. Code Organization
  • Define clear interfaces between components, independent of hyphy so that other tools can be easily implemented.
  • Improve code reusability
  1. Configuration
  • Add validation for configuration options
  • Support dynamic cluster configuration
  1. Testing & Monitoring
  • Add unit test coverage
  • Add integration test framework
  • Improve logging and monitoring capabilities
  • Add health check mechanisms

Technical Requirements:

  • Use ES6+ features where appropriate
  • Maintain backwards compatibility with existing job types
  • Document new interfaces and methods

Success Criteria:

  • Improved reliability of job submission and monitoring
  • Reduced frequency of stale connections
  • Better error recovery
  • Cleaner, more maintainable codebase
  • Comprehensive test coverage
@stevenweaver stevenweaver self-assigned this Jan 21, 2025
@stevenweaver stevenweaver moved this to In Progress in Steven's Project Board Jan 21, 2025
@stevenweaver stevenweaver moved this from In Progress to Blocked in Steven's Project Board Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant