diff --git a/migrations/20260128113327_add_retry_logic.ts b/migrations/20260128113327_add_retry_logic.ts index 698b9b4..5543919 100644 --- a/migrations/20260128113327_add_retry_logic.ts +++ b/migrations/20260128113327_add_retry_logic.ts @@ -6,7 +6,7 @@ export async function up(knex: Knex): Promise { `ALTER TABLE tasks ADD COLUMN retry_count INTEGER NOT NULL DEFAULT 0;`, ); await knex.raw( - `ALTER TABLE tasks ADD COLUMN max_retries INTEGER NOT NULL DEFAULT 3;`, + `ALTER TABLE tasks ADD COLUMN max_attempts INTEGER NOT NULL DEFAULT 3;`, ); await knex.raw(`ALTER TABLE tasks ADD COLUMN error_message TEXT;`); @@ -15,7 +15,7 @@ export async function up(knex: Knex): Promise { export async function down(knex: Knex): Promise { await knex.raw(`ALTER TABLE tasks DROP COLUMN retry_count;`); - await knex.raw(`ALTER TABLE tasks DROP COLUMN max_retries;`); + await knex.raw(`ALTER TABLE tasks DROP COLUMN max_attempts;`); await knex.raw(`ALTER TABLE tasks DROP COLUMN error_message;`); // Note: PostgreSQL does not support simply removing values from enums. diff --git a/src/consumer.ts b/src/consumer.ts index d5f92ec..64740ed 100644 --- a/src/consumer.ts +++ b/src/consumer.ts @@ -30,8 +30,8 @@ while (true) { } catch (error) { const newRetryCount = task.retry_count + 1; - if (newRetryCount >= task.max_retries) { - // Max retries exceeded, mark as failed + if (newRetryCount >= task.max_attempts) { + // Max attempts exceeded, mark as failed await db('tasks') .update({ status: 'failed', @@ -42,7 +42,7 @@ while (true) { .where({ id: task.id }); console.log( - `❌ Task failed permanently after ${newRetryCount} retries:`, + `❌ Task failed permanently (${newRetryCount} failures):`, task.id, ); } else { @@ -56,7 +56,7 @@ while (true) { .where({ id: task.id }); console.log( - `🔄 Task failed, retry ${newRetryCount}/${task.max_retries}:`, + `🔄 Task failed (failure ${newRetryCount}/${task.max_attempts}):`, task.id, ); } diff --git a/src/types.ts b/src/types.ts index 56e4646..85fa452 100644 --- a/src/types.ts +++ b/src/types.ts @@ -7,7 +7,7 @@ export type Task = { payload: Payload; status: 'pending' | 'in_progress' | 'done' | 'failed'; retry_count: number; - max_retries: number; + max_attempts: number; error_message: string | null; created_at: string; picked_at: string | null;