|
1 | 1 | --- |
2 | | -"@vorsteh-queue/adapter-drizzle": minor |
3 | | -"@vorsteh-queue/core": minor |
4 | | -"create-vorsteh-queue": minor |
5 | 2 | --- |
6 | 3 |
|
7 | | -# 🚀 Initial Release of Vorsteh Queue |
| 4 | +# 🚀 Vorsteh Queue - Initial Release |
8 | 5 |
|
9 | | -A TypeScript-first job queue system with multiple database adapters, built for reliability and developer experience. |
| 6 | +A powerful, TypeScript-first job queue system designed for modern applications. |
10 | 7 |
|
11 | | -## ✨ Core Features |
| 8 | +## 📦 What's Included |
12 | 9 |
|
13 | | -- **Type-safe job processing** with full TypeScript support and generic job payloads |
14 | | -- **Multiple database adapters** supporting Drizzle ORM, Prisma, and in-memory implementations |
15 | | -- **Priority queue system** with numeric priority (lower = higher priority) |
16 | | -- **Delayed job scheduling** for future execution |
17 | | -- **Recurring jobs** with cron expressions and interval-based repetition |
18 | | -- **Timezone-aware scheduling** with DST handling powered by date-fns |
19 | | -- **Real-time progress tracking** for long-running jobs |
20 | | -- **Comprehensive event system** for monitoring job lifecycle |
21 | | -- **Graceful shutdown** with clean job processing termination |
| 10 | +This release introduces three core packages: |
22 | 11 |
|
23 | | -## 🗄️ Database Adapters |
| 12 | +- **@vorsteh-queue/core** - The foundational queue engine with type-safe job processing |
| 13 | +- **@vorsteh-queue/adapter-drizzle** - Production-ready PostgreSQL and MariaDB/MySQL adapter |
| 14 | +- **create-vorsteh-queue** - Interactive CLI for scaffolding new projects |
24 | 15 |
|
25 | | -- **@vorsteh-queue/adapter-drizzle** - PostgreSQL support via Drizzle ORM (node-postgres, postgres.js, PGlite) |
26 | | -- **@vorsteh-queue/adapter-prisma** - Multi-database support via Prisma (PostgreSQL, MySQL, SQLite, MongoDB) |
27 | | -- **Built-in memory adapter** - For testing and development |
| 16 | +## 🎯 Key Highlights |
28 | 17 |
|
29 | | -## 🎛️ Advanced Configuration |
| 18 | +- **Zero-config setup** with the CLI tool - `npx create-vorsteh-queue` |
| 19 | +- **Production-ready** database adapters with connection pooling and SKIP LOCKED |
| 20 | +- **Type-safe throughout** with full TypeScript support and generic job payloads |
| 21 | +- **Timezone-aware scheduling** with automatic DST handling |
| 22 | +- **Real-time progress tracking** and comprehensive event system |
| 23 | +- **Multiple examples** covering basic usage to production deployment |
30 | 24 |
|
31 | | -- **Flexible job cleanup** - `removeOnComplete`/`removeOnFail` support boolean (immediate/never) or number (keep N jobs) |
32 | | -- **Configurable concurrency** - Process multiple jobs simultaneously |
33 | | -- **Retry logic** with exponential backoff |
34 | | -- **Job timeouts** and error handling |
35 | | -- **Queue statistics** and monitoring |
| 25 | +## 🚀 Quick Start |
36 | 26 |
|
37 | | -## 🌍 Timezone Support |
| 27 | +```bash |
| 28 | +# Create a new project |
| 29 | +npx create-vorsteh-queue my-queue-app |
38 | 30 |
|
39 | | -- Schedule jobs in any IANA timezone |
40 | | -- Automatic DST transition handling |
41 | | -- Complex cron expressions with timezone awareness |
42 | | -- UTC storage with timezone-aware calculations |
43 | | - |
44 | | -## 📊 Progress & Events |
45 | | - |
46 | | -- Real-time job progress updates (0-100%) |
47 | | -- Complete job lifecycle events (added, processing, completed, failed, retried) |
48 | | -- Queue-level events (paused, resumed, stopped, error) |
49 | | -- Built-in statistics tracking |
50 | | - |
51 | | -## 📚 Examples & Documentation |
52 | | - |
53 | | -- **Basic usage examples** with Drizzle + node-postgres/postgres.js |
54 | | -- **Progress tracking demo** showing real-time updates |
55 | | -- **Event system showcase** with comprehensive monitoring |
56 | | -- **PM2 production deployment** with multiple specialized workers |
57 | | -- **Complete TypeScript examples** with proper typing |
| 31 | +# Choose from multiple templates: |
| 32 | +# - drizzle-postgres (Production ready) |
| 33 | +# - drizzle-pglite (Zero setup) |
| 34 | +# - progress-tracking (Real-time updates) |
| 35 | +# - event-system (Comprehensive monitoring) |
| 36 | +``` |
58 | 37 |
|
59 | 38 | ## 🛠️ Developer Experience |
60 | 39 |
|
61 | | -- Full TypeScript support with strict typing |
62 | | -- Comprehensive test coverage |
63 | | -- ESLint and Prettier configuration |
64 | | -- Multiple runnable examples |
65 | | -- Production-ready PM2 configuration |
| 40 | +Built with developer experience in mind: |
66 | 41 |
|
67 | | -## 🎯 Production Ready |
| 42 | +- **Interactive CLI** with beautiful prompts and dynamic template discovery |
| 43 | +- **Comprehensive examples** with runnable code for every feature |
| 44 | +- **Production deployment** guides with PM2 and Docker |
| 45 | +- **Full documentation** with TypeScript examples throughout |
68 | 46 |
|
69 | | -- Database persistence with connection pooling |
70 | | -- Process management with PM2 |
71 | | -- Memory limits and auto-restart |
72 | | -- Log rotation and monitoring |
73 | | -- Graceful shutdown handling |
74 | | -- Health checks and error recovery |
| 47 | +See individual package changesets for detailed feature lists and technical specifications. |
0 commit comments