Skip to content

Commit 5277995

Browse files
authored
Merge pull request #7 from noxify/changeset-release/main
Version Packages
2 parents 2c275c7 + d711f75 commit 5277995

File tree

9 files changed

+155
-156
lines changed

9 files changed

+155
-156
lines changed

.changeset/adapter-drizzle-initial-release.md

Lines changed: 0 additions & 58 deletions
This file was deleted.

.changeset/core-initial-release.md

Lines changed: 0 additions & 46 deletions
This file was deleted.

.changeset/create-vorsteh-queue-initial-release.md

Lines changed: 0 additions & 49 deletions
This file was deleted.
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# @vorsteh-queue/adapter-drizzle
2+
3+
## 0.1.0
4+
5+
### Minor Changes
6+
7+
- 8527495: # 🚀 Initial Release - Drizzle ORM Adapter
8+
9+
Database adapter supporting PostgreSQL and MariaDB/MySQL via Drizzle ORM.
10+
11+
## 🗄️ Database Support
12+
13+
### PostgreSQL
14+
- **PostgreSQL 12+** with SKIP LOCKED support for concurrent processing
15+
- **Multiple drivers**: node-postgres, postgres.js, PGlite
16+
- **Full feature support**: JSONB payloads, UUID primary keys, timezone-aware timestamps
17+
- **Connection pooling** and transaction support
18+
19+
### MariaDB/MySQL
20+
- **MariaDB 10.6+** and **MySQL 8.0+** with SKIP LOCKED functionality
21+
- **mysql2 driver** with promise support and connection pooling
22+
- **JSON payloads** with proper serialization/deserialization
23+
- **UUID compatibility** using VARCHAR(36) with MySQL UUID() function
24+
25+
## ⚡ Performance Features
26+
- **SKIP LOCKED** queries for high-concurrency job processing without lock contention
27+
- **Optimized indexes** on queue_name, status, priority, and process_at columns
28+
- **Efficient job retrieval** with priority-based ordering and creation time fallback
29+
- **Batch operations** for job cleanup and maintenance
30+
31+
## 🔧 Schema Management
32+
- **Exported schemas** - `postgresSchema` and `mariadbSchema` for easy integration
33+
- **Drizzle Kit support** - Generate and run migrations with your existing schema
34+
- **Type-safe queries** - Full TypeScript support with Drizzle's query builder
35+
- **Flexible integration** - Works with existing Drizzle setups
36+
37+
## 📦 Easy Integration
38+
39+
**with PostgreSQL:**
40+
41+
```typescript
42+
// PostgreSQL
43+
import { PostgresQueueAdapter, postgresSchema } from "@vorsteh-queue/adapter-drizzle"
44+
45+
const db = drizzle(pool, { schema: postgresSchema })
46+
const adapter = new PostgresQueueAdapter(db, "my-queue")
47+
```
48+
49+
**with MariaDB/MySQL:**
50+
51+
```
52+
// MariaDB/MySQL
53+
import { MariaDBQueueAdapter, mariadbSchema } from "@vorsteh-queue/adapter-drizzle"
54+
const db = drizzle(connection, { schema: mariadbSchema })
55+
const adapter = new MariaDBQueueAdapter(db, "my-queue")
56+
```
57+
58+
### Patch Changes
59+
60+
- Updated dependencies [8527495]
61+
- @vorsteh-queue/core@0.1.0

packages/adapter-drizzle/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vorsteh-queue/adapter-drizzle",
3-
"version": "0.0.0",
3+
"version": "0.1.0",
44
"keywords": [
55
"queue",
66
"job-queue",

packages/core/CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# @vorsteh-queue/core
2+
3+
## 0.1.0
4+
5+
### Minor Changes
6+
7+
- 8527495: # 🚀 Initial Release - Core Queue Engine
8+
9+
The foundational package providing the core queue functionality and interfaces.
10+
11+
## ✨ Features
12+
- **Type-safe job processing** with full TypeScript support and generic job payloads
13+
- **Priority queue system** with numeric priority (lower = higher priority)
14+
- **Delayed job scheduling** for future execution with precise timing
15+
- **Recurring jobs** with cron expressions and interval-based repetition
16+
- **Timezone-aware scheduling** with automatic DST handling
17+
- **Real-time progress tracking** for long-running jobs (0-100%)
18+
- **Comprehensive event system** for monitoring job lifecycle
19+
- **Graceful shutdown** with clean job processing termination
20+
21+
## 🎛️ Queue Configuration
22+
- **Flexible job cleanup** - `removeOnComplete`/`removeOnFail` support boolean or number
23+
- **Configurable concurrency** - Process multiple jobs simultaneously
24+
- **Retry logic** with exponential backoff and max attempts
25+
- **Job timeouts** and comprehensive error handling
26+
- **Queue statistics** and health monitoring
27+
28+
## 📊 Event System
29+
- **Job lifecycle events**: `job:added`, `job:processing`, `job:completed`, `job:failed`, `job:retried`, `job:progress`
30+
- **Queue events**: `queue:paused`, `queue:resumed`, `queue:stopped`, `queue:error`
31+
- **Type-safe event handlers** with proper TypeScript support
32+
33+
## 🌍 Timezone Support
34+
- Schedule jobs in any IANA timezone with automatic DST transitions
35+
- Complex cron expressions with timezone awareness
36+
- UTC-first storage with timezone-aware calculations
37+
- Reliable cross-timezone job scheduling
38+
39+
## 🔌 Adapter Pattern
40+
- **Pluggable storage backends** - Easy to add new database adapters
41+
- **Consistent interface** - Same API across all storage implementations
42+
- **Built-in memory adapter** - Perfect for testing and development
43+
- **Transaction support** - Atomic job operations where supported

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vorsteh-queue/core",
3-
"version": "0.0.0",
3+
"version": "0.1.0",
44
"keywords": [
55
"queue",
66
"job-queue",
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# create-vorsteh-queue
2+
3+
## 0.1.0
4+
5+
### Minor Changes
6+
7+
- 8527495: # 🚀 Initial Release - Project Scaffolding CLI
8+
9+
Interactive CLI tool for creating new Vorsteh Queue projects with zero configuration.
10+
11+
## ✨ Features
12+
- **Interactive prompts** with beautiful UI powered by @clack/prompts
13+
- **Dynamic template discovery** - Automatically fetches available templates from GitHub
14+
- **Multiple package managers** - Support for npm, pnpm, yarn, and bun
15+
- **CLI flags** for automation and scripting
16+
- **Quiet mode** for CI/CD environments
17+
18+
## 🎯 Usage Options
19+
20+
### Interactive Mode
21+
22+
```bash
23+
npx create-vorsteh-queue
24+
# Prompts for project name, template, and package manager
25+
```
26+
27+
### Direct Mode
28+
29+
```bash
30+
npx create-vorsteh-queue my-app --template=drizzle-pglite --package-manager=pnpm --no-install
31+
# Fully automated project creation
32+
```
33+
34+
### CLI Flags
35+
- `--template=<name>` or `-t=<name>` - Choose template
36+
- `--package-manager=<pm>` or `-pm=<pm>` - Package manager (npm/pnpm/yarn/bun)
37+
- `--no-install` - Skip dependency install
38+
- `--quiet` or `-q` - Minimal output for automation
39+
40+
## 📦 Available Templates
41+
42+
Templates are **dynamically discovered** from the repository:
43+
- **drizzle-pg** - Basic example using Drizzle ORM with node-postgres (pg)
44+
- **drizzle-pglite** - Zero-setup example using Drizzle ORM with PGlite (embedded PostgreSQL)
45+
- **drizzle-postgres** - Advanced example using Drizzle ORM with postgres.js and recurring jobs
46+
- **event-system** - Comprehensive event monitoring and statistics using Drizzle ORM with postgres.js
47+
- **pm2-workers** - Manage multiple Vorsteh Queues with PM2 using Drizzle ORM with postgres.js
48+
- **progress-tracking** - Real-time job progress tracking using Drizzle ORM with postgres.js

packages/create-vorsteh-queue/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "create-vorsteh-queue",
3-
"version": "0.0.0",
3+
"version": "0.1.0",
44
"description": "Create Vorsteh Queue applications with one command",
55
"keywords": [
66
"vorsteh-queue",

0 commit comments

Comments
 (0)