Skip to content

v1.11.0

@CodingAnarchy CodingAnarchy tagged this 14 Jul 23:52
Implement comprehensive queue pause and resume functionality across all Hammerwork interfaces:

**🔧 Core Library (hammerwork)**
- Add pause_queue(), resume_queue(), is_queue_paused(), get_queue_pause_info(), get_paused_queues() to DatabaseQueue trait
- Full PostgreSQL and MySQL backend implementation with optimized queries
- Database migration 014 adding hammerwork_queue_pause table with audit fields
- Worker integration: automatically skip job dequeuing for paused queues
- Graceful operation: jobs in progress continue, new jobs blocked
- QueuePauseInfo struct for comprehensive pause state tracking

**🌐 Web Interface (hammerwork-web)**
- Interactive pause/resume buttons with dynamic UI updates
- Visual status badges: 🟢 Active / 🟡 Paused with color-coded styling
- Enhanced queue API responses including pause state information
- Real-time user feedback with success/error notifications
- Updated queue table layout with Status column for operational visibility

**🖥️ CLI Tools (cargo-hammerwork)**
- queue pause/resume commands with comprehensive feedback
- queue paused command to list all paused queues with details
- Enhanced queue list command showing pause status with emoji indicators
- Full audit trail support recording CLI operations for compliance

**🏗️ Database Schema**
- New hammerwork_queue_pause table with queue_name, timestamps, audit fields
- Automatic timestamp management for PostgreSQL (triggers) and MySQL
- Proper indexing on paused_at for efficient query performance
- Cross-database compatibility with database-specific SQL optimizations

**✨ Key Features**
- Persistent pause state across worker restarts and database reconnections
- Audit trail tracking who paused/resumed queues and when
- Immediate operational control for maintenance windows and emergencies
- Consistent interface across library, web UI, and CLI
- Zero downtime: pausing doesn't interrupt running jobs

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Assets 2
Loading