Skip to content

Commit 2168264

Browse files
committed
add changeset
1 parent 41c997a commit 2168264

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

.changeset/green-houses-think.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
"docs": minor
3+
"drizzle-pg-example": minor
4+
"drizzle-postgres-example": minor
5+
"event-system-example": minor
6+
"pm2-workers-example": minor
7+
"progress-tracking-example": minor
8+
"@vorsteh-queue/adapter-drizzle": minor
9+
"@vorsteh-queue/adapter-prisma": minor
10+
"@vorsteh-queue/core": minor
11+
"@vorsteh-queue/eslint-config": minor
12+
"@vorsteh-queue/prettier-config": minor
13+
"@vorsteh-queue/tsconfig": minor
14+
---
15+
16+
# 🚀 Initial Release of Vorsteh Queue
17+
18+
A TypeScript-first job queue system with multiple database adapters, built for reliability and developer experience.
19+
20+
## ✨ Core Features
21+
22+
- **Type-safe job processing** with full TypeScript support and generic job payloads
23+
- **Multiple database adapters** supporting Drizzle ORM, Prisma, and in-memory implementations
24+
- **Priority queue system** with numeric priority (lower = higher priority)
25+
- **Delayed job scheduling** for future execution
26+
- **Recurring jobs** with cron expressions and interval-based repetition
27+
- **Timezone-aware scheduling** with DST handling powered by date-fns
28+
- **Real-time progress tracking** for long-running jobs
29+
- **Comprehensive event system** for monitoring job lifecycle
30+
- **Graceful shutdown** with clean job processing termination
31+
32+
## 🗄️ Database Adapters
33+
34+
- **@vorsteh-queue/adapter-drizzle** - PostgreSQL support via Drizzle ORM (node-postgres, postgres.js, PGlite)
35+
- **@vorsteh-queue/adapter-prisma** - Multi-database support via Prisma (PostgreSQL, MySQL, SQLite, MongoDB)
36+
- **Built-in memory adapter** - For testing and development
37+
38+
## 🎛️ Advanced Configuration
39+
40+
- **Flexible job cleanup** - `removeOnComplete`/`removeOnFail` support boolean (immediate/never) or number (keep N jobs)
41+
- **Configurable concurrency** - Process multiple jobs simultaneously
42+
- **Retry logic** with exponential backoff
43+
- **Job timeouts** and error handling
44+
- **Queue statistics** and monitoring
45+
46+
## 🌍 Timezone Support
47+
48+
- Schedule jobs in any IANA timezone
49+
- Automatic DST transition handling
50+
- Complex cron expressions with timezone awareness
51+
- UTC storage with timezone-aware calculations
52+
53+
## 📊 Progress & Events
54+
55+
- Real-time job progress updates (0-100%)
56+
- Complete job lifecycle events (added, processing, completed, failed, retried)
57+
- Queue-level events (paused, resumed, stopped, error)
58+
- Built-in statistics tracking
59+
60+
## 📚 Examples & Documentation
61+
62+
- **Basic usage examples** with Drizzle + node-postgres/postgres.js
63+
- **Progress tracking demo** showing real-time updates
64+
- **Event system showcase** with comprehensive monitoring
65+
- **PM2 production deployment** with multiple specialized workers
66+
- **Complete TypeScript examples** with proper typing
67+
68+
## 🛠️ Developer Experience
69+
70+
- Full TypeScript support with strict typing
71+
- Comprehensive test coverage
72+
- ESLint and Prettier configuration
73+
- Multiple runnable examples
74+
- Production-ready PM2 configuration
75+
76+
## 🎯 Production Ready
77+
78+
- Database persistence with connection pooling
79+
- Process management with PM2
80+
- Memory limits and auto-restart
81+
- Log rotation and monitoring
82+
- Graceful shutdown handling
83+
- Health checks and error recovery

0 commit comments

Comments
 (0)