@devbro/pashmak 0.1.23 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/app/console/DefaultCommand.cjs +33 -32
- package/dist/bin/app/console/KeyGenerateCommand.cjs +33 -32
- package/dist/bin/app/console/StartCommand.cjs +33 -32
- package/dist/bin/app/console/generate/GenerateControllerCommand.cjs +33 -32
- package/dist/bin/app/console/generate/index.cjs +33 -32
- package/dist/bin/app/console/index.cjs +37 -36
- package/dist/bin/app/console/migrate/GenerateMigrateCommand.cjs +33 -32
- package/dist/bin/app/console/migrate/MigrateCommand.cjs +35 -34
- package/dist/bin/app/console/migrate/MigrateRollbackCommand.cjs +35 -34
- package/dist/bin/app/console/migrate/index.cjs +37 -36
- package/dist/bin/app/console/queue/GenerateQueueMigrateCommand.cjs +33 -32
- package/dist/bin/cache.cjs +33 -32
- package/dist/bin/facades.cjs +33 -32
- package/dist/bin/factories.cjs +30 -29
- package/dist/bin/index.cjs +47 -46
- package/dist/bin/middlewares.cjs +33 -32
- package/dist/bin/queue.cjs +30 -29
- package/dist/queue.mjs +30 -29
- package/dist/queue.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -456,7 +456,7 @@ var Router = class {
|
|
|
456
456
|
// src/facades.mts
|
|
457
457
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
458
458
|
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
459
|
-
var
|
|
459
|
+
var import_neko_context3 = require("@devbro/neko-context");
|
|
460
460
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
461
461
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
462
462
|
var import_neko_config = require("@devbro/neko-config");
|
|
@@ -481,6 +481,7 @@ __export(queue_exports, {
|
|
|
481
481
|
});
|
|
482
482
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
483
483
|
var import_neko_helper = require("@devbro/neko-helper");
|
|
484
|
+
var import_neko_context2 = require("@devbro/neko-context");
|
|
484
485
|
var DatabaseTransport = class {
|
|
485
486
|
static {
|
|
486
487
|
__name(this, "DatabaseTransport");
|
|
@@ -497,37 +498,37 @@ var DatabaseTransport = class {
|
|
|
497
498
|
messageQueues = [];
|
|
498
499
|
repeater;
|
|
499
500
|
processMessage = /* @__PURE__ */ __name(async () => {
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
501
|
+
await import_neko_context2.context_provider.run(async () => {
|
|
502
|
+
const conn = db(this.config.db_connection);
|
|
503
|
+
try {
|
|
504
|
+
await conn.connect();
|
|
505
|
+
let q = conn.getQuery();
|
|
506
|
+
let messages = await q.table(this.config.queue_table).whereOp("channel", "in", Array.from(this.channels.keys())).whereOp("status", "in", ["pending", "failed"]).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
|
|
507
|
+
for (let msg of messages) {
|
|
508
|
+
try {
|
|
509
|
+
let callback = this.channels.get(msg.channel);
|
|
510
|
+
await callback(msg.message);
|
|
511
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
512
|
+
status: "processed",
|
|
513
|
+
updated_at: /* @__PURE__ */ new Date(),
|
|
514
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
515
|
+
retried_count: (msg.retried_count || 0) + 1
|
|
516
|
+
});
|
|
517
|
+
} catch (error) {
|
|
518
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
519
|
+
status: "failed",
|
|
520
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
521
|
+
retried_count: (msg.retried_count || 0) + 1,
|
|
522
|
+
process_message: error.message || "Error processing message"
|
|
523
|
+
});
|
|
524
|
+
}
|
|
522
525
|
}
|
|
526
|
+
} catch (error) {
|
|
527
|
+
logger().error("Error in DatabaseTransport listen interval:", {
|
|
528
|
+
error
|
|
529
|
+
});
|
|
523
530
|
}
|
|
524
|
-
}
|
|
525
|
-
logger().error("Error in DatabaseTransport listen interval:", {
|
|
526
|
-
error
|
|
527
|
-
});
|
|
528
|
-
} finally {
|
|
529
|
-
await conn.disconnect();
|
|
530
|
-
}
|
|
531
|
+
});
|
|
531
532
|
}, "processMessage");
|
|
532
533
|
constructor(config2 = {}) {
|
|
533
534
|
this.config = { ...this.config, ...config2 };
|
|
@@ -651,7 +652,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
651
652
|
});
|
|
652
653
|
return rc;
|
|
653
654
|
});
|
|
654
|
-
var db = /* @__PURE__ */ __name((label = "default") => (0,
|
|
655
|
+
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
655
656
|
var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
656
657
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
657
658
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
@@ -707,7 +708,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
707
708
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
708
709
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
709
710
|
rc.setExtrasFunction((message) => {
|
|
710
|
-
message.requestId = (0,
|
|
711
|
+
message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
|
|
711
712
|
return message;
|
|
712
713
|
});
|
|
713
714
|
return rc;
|
|
@@ -459,7 +459,7 @@ var Router = class {
|
|
|
459
459
|
// src/facades.mts
|
|
460
460
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
461
461
|
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
462
|
-
var
|
|
462
|
+
var import_neko_context3 = require("@devbro/neko-context");
|
|
463
463
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
464
464
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
465
465
|
var import_neko_config = require("@devbro/neko-config");
|
|
@@ -484,6 +484,7 @@ __export(queue_exports, {
|
|
|
484
484
|
});
|
|
485
485
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
486
486
|
var import_neko_helper = require("@devbro/neko-helper");
|
|
487
|
+
var import_neko_context2 = require("@devbro/neko-context");
|
|
487
488
|
var DatabaseTransport = class {
|
|
488
489
|
static {
|
|
489
490
|
__name(this, "DatabaseTransport");
|
|
@@ -500,37 +501,37 @@ var DatabaseTransport = class {
|
|
|
500
501
|
messageQueues = [];
|
|
501
502
|
repeater;
|
|
502
503
|
processMessage = /* @__PURE__ */ __name(async () => {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
504
|
+
await import_neko_context2.context_provider.run(async () => {
|
|
505
|
+
const conn = db(this.config.db_connection);
|
|
506
|
+
try {
|
|
507
|
+
await conn.connect();
|
|
508
|
+
let q = conn.getQuery();
|
|
509
|
+
let messages = await q.table(this.config.queue_table).whereOp("channel", "in", Array.from(this.channels.keys())).whereOp("status", "in", ["pending", "failed"]).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
|
|
510
|
+
for (let msg of messages) {
|
|
511
|
+
try {
|
|
512
|
+
let callback = this.channels.get(msg.channel);
|
|
513
|
+
await callback(msg.message);
|
|
514
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
515
|
+
status: "processed",
|
|
516
|
+
updated_at: /* @__PURE__ */ new Date(),
|
|
517
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
518
|
+
retried_count: (msg.retried_count || 0) + 1
|
|
519
|
+
});
|
|
520
|
+
} catch (error) {
|
|
521
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
522
|
+
status: "failed",
|
|
523
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
524
|
+
retried_count: (msg.retried_count || 0) + 1,
|
|
525
|
+
process_message: error.message || "Error processing message"
|
|
526
|
+
});
|
|
527
|
+
}
|
|
525
528
|
}
|
|
529
|
+
} catch (error) {
|
|
530
|
+
logger().error("Error in DatabaseTransport listen interval:", {
|
|
531
|
+
error
|
|
532
|
+
});
|
|
526
533
|
}
|
|
527
|
-
}
|
|
528
|
-
logger().error("Error in DatabaseTransport listen interval:", {
|
|
529
|
-
error
|
|
530
|
-
});
|
|
531
|
-
} finally {
|
|
532
|
-
await conn.disconnect();
|
|
533
|
-
}
|
|
534
|
+
});
|
|
534
535
|
}, "processMessage");
|
|
535
536
|
constructor(config2 = {}) {
|
|
536
537
|
this.config = { ...this.config, ...config2 };
|
|
@@ -654,7 +655,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
654
655
|
});
|
|
655
656
|
return rc;
|
|
656
657
|
});
|
|
657
|
-
var db = /* @__PURE__ */ __name((label = "default") => (0,
|
|
658
|
+
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
658
659
|
var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
659
660
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
660
661
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
@@ -710,7 +711,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
710
711
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
711
712
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
712
713
|
rc.setExtrasFunction((message) => {
|
|
713
|
-
message.requestId = (0,
|
|
714
|
+
message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
|
|
714
715
|
return message;
|
|
715
716
|
});
|
|
716
717
|
return rc;
|
|
@@ -457,7 +457,7 @@ var Router = class {
|
|
|
457
457
|
// src/facades.mts
|
|
458
458
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
459
459
|
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
460
|
-
var
|
|
460
|
+
var import_neko_context3 = require("@devbro/neko-context");
|
|
461
461
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
462
462
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
463
463
|
var import_neko_config = require("@devbro/neko-config");
|
|
@@ -482,6 +482,7 @@ __export(queue_exports, {
|
|
|
482
482
|
});
|
|
483
483
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
484
484
|
var import_neko_helper = require("@devbro/neko-helper");
|
|
485
|
+
var import_neko_context2 = require("@devbro/neko-context");
|
|
485
486
|
var DatabaseTransport = class {
|
|
486
487
|
static {
|
|
487
488
|
__name(this, "DatabaseTransport");
|
|
@@ -498,37 +499,37 @@ var DatabaseTransport = class {
|
|
|
498
499
|
messageQueues = [];
|
|
499
500
|
repeater;
|
|
500
501
|
processMessage = /* @__PURE__ */ __name(async () => {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
502
|
+
await import_neko_context2.context_provider.run(async () => {
|
|
503
|
+
const conn = db(this.config.db_connection);
|
|
504
|
+
try {
|
|
505
|
+
await conn.connect();
|
|
506
|
+
let q = conn.getQuery();
|
|
507
|
+
let messages = await q.table(this.config.queue_table).whereOp("channel", "in", Array.from(this.channels.keys())).whereOp("status", "in", ["pending", "failed"]).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
|
|
508
|
+
for (let msg of messages) {
|
|
509
|
+
try {
|
|
510
|
+
let callback = this.channels.get(msg.channel);
|
|
511
|
+
await callback(msg.message);
|
|
512
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
513
|
+
status: "processed",
|
|
514
|
+
updated_at: /* @__PURE__ */ new Date(),
|
|
515
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
516
|
+
retried_count: (msg.retried_count || 0) + 1
|
|
517
|
+
});
|
|
518
|
+
} catch (error) {
|
|
519
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
520
|
+
status: "failed",
|
|
521
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
522
|
+
retried_count: (msg.retried_count || 0) + 1,
|
|
523
|
+
process_message: error.message || "Error processing message"
|
|
524
|
+
});
|
|
525
|
+
}
|
|
523
526
|
}
|
|
527
|
+
} catch (error) {
|
|
528
|
+
logger().error("Error in DatabaseTransport listen interval:", {
|
|
529
|
+
error
|
|
530
|
+
});
|
|
524
531
|
}
|
|
525
|
-
}
|
|
526
|
-
logger().error("Error in DatabaseTransport listen interval:", {
|
|
527
|
-
error
|
|
528
|
-
});
|
|
529
|
-
} finally {
|
|
530
|
-
await conn.disconnect();
|
|
531
|
-
}
|
|
532
|
+
});
|
|
532
533
|
}, "processMessage");
|
|
533
534
|
constructor(config3 = {}) {
|
|
534
535
|
this.config = { ...this.config, ...config3 };
|
|
@@ -652,7 +653,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
652
653
|
});
|
|
653
654
|
return rc;
|
|
654
655
|
});
|
|
655
|
-
var db = /* @__PURE__ */ __name((label = "default") => (0,
|
|
656
|
+
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
656
657
|
var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
657
658
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
658
659
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
@@ -708,7 +709,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
708
709
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
709
710
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
710
711
|
rc.setExtrasFunction((message) => {
|
|
711
|
-
message.requestId = (0,
|
|
712
|
+
message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
|
|
712
713
|
return message;
|
|
713
714
|
});
|
|
714
715
|
return rc;
|
|
@@ -455,7 +455,7 @@ var Router = class {
|
|
|
455
455
|
// src/facades.mts
|
|
456
456
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
457
457
|
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
458
|
-
var
|
|
458
|
+
var import_neko_context3 = require("@devbro/neko-context");
|
|
459
459
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
460
460
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
461
461
|
var import_neko_config = require("@devbro/neko-config");
|
|
@@ -480,6 +480,7 @@ __export(queue_exports, {
|
|
|
480
480
|
});
|
|
481
481
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
482
482
|
var import_neko_helper = require("@devbro/neko-helper");
|
|
483
|
+
var import_neko_context2 = require("@devbro/neko-context");
|
|
483
484
|
var DatabaseTransport = class {
|
|
484
485
|
static {
|
|
485
486
|
__name(this, "DatabaseTransport");
|
|
@@ -496,37 +497,37 @@ var DatabaseTransport = class {
|
|
|
496
497
|
messageQueues = [];
|
|
497
498
|
repeater;
|
|
498
499
|
processMessage = /* @__PURE__ */ __name(async () => {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
500
|
+
await import_neko_context2.context_provider.run(async () => {
|
|
501
|
+
const conn = db(this.config.db_connection);
|
|
502
|
+
try {
|
|
503
|
+
await conn.connect();
|
|
504
|
+
let q = conn.getQuery();
|
|
505
|
+
let messages = await q.table(this.config.queue_table).whereOp("channel", "in", Array.from(this.channels.keys())).whereOp("status", "in", ["pending", "failed"]).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
|
|
506
|
+
for (let msg of messages) {
|
|
507
|
+
try {
|
|
508
|
+
let callback = this.channels.get(msg.channel);
|
|
509
|
+
await callback(msg.message);
|
|
510
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
511
|
+
status: "processed",
|
|
512
|
+
updated_at: /* @__PURE__ */ new Date(),
|
|
513
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
514
|
+
retried_count: (msg.retried_count || 0) + 1
|
|
515
|
+
});
|
|
516
|
+
} catch (error) {
|
|
517
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
518
|
+
status: "failed",
|
|
519
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
520
|
+
retried_count: (msg.retried_count || 0) + 1,
|
|
521
|
+
process_message: error.message || "Error processing message"
|
|
522
|
+
});
|
|
523
|
+
}
|
|
521
524
|
}
|
|
525
|
+
} catch (error) {
|
|
526
|
+
logger().error("Error in DatabaseTransport listen interval:", {
|
|
527
|
+
error
|
|
528
|
+
});
|
|
522
529
|
}
|
|
523
|
-
}
|
|
524
|
-
logger().error("Error in DatabaseTransport listen interval:", {
|
|
525
|
-
error
|
|
526
|
-
});
|
|
527
|
-
} finally {
|
|
528
|
-
await conn.disconnect();
|
|
529
|
-
}
|
|
530
|
+
});
|
|
530
531
|
}, "processMessage");
|
|
531
532
|
constructor(config3 = {}) {
|
|
532
533
|
this.config = { ...this.config, ...config3 };
|
|
@@ -650,7 +651,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
650
651
|
});
|
|
651
652
|
return rc;
|
|
652
653
|
});
|
|
653
|
-
var db = /* @__PURE__ */ __name((label = "default") => (0,
|
|
654
|
+
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
654
655
|
var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
655
656
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
656
657
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
@@ -706,7 +707,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
706
707
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
707
708
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
708
709
|
rc.setExtrasFunction((message) => {
|
|
709
|
-
message.requestId = (0,
|
|
710
|
+
message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
|
|
710
711
|
return message;
|
|
711
712
|
});
|
|
712
713
|
return rc;
|
|
@@ -455,7 +455,7 @@ var Router = class {
|
|
|
455
455
|
// src/facades.mts
|
|
456
456
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
457
457
|
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
458
|
-
var
|
|
458
|
+
var import_neko_context3 = require("@devbro/neko-context");
|
|
459
459
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
460
460
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
461
461
|
var import_neko_config = require("@devbro/neko-config");
|
|
@@ -480,6 +480,7 @@ __export(queue_exports, {
|
|
|
480
480
|
});
|
|
481
481
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
482
482
|
var import_neko_helper = require("@devbro/neko-helper");
|
|
483
|
+
var import_neko_context2 = require("@devbro/neko-context");
|
|
483
484
|
var DatabaseTransport = class {
|
|
484
485
|
static {
|
|
485
486
|
__name(this, "DatabaseTransport");
|
|
@@ -496,37 +497,37 @@ var DatabaseTransport = class {
|
|
|
496
497
|
messageQueues = [];
|
|
497
498
|
repeater;
|
|
498
499
|
processMessage = /* @__PURE__ */ __name(async () => {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
500
|
+
await import_neko_context2.context_provider.run(async () => {
|
|
501
|
+
const conn = db(this.config.db_connection);
|
|
502
|
+
try {
|
|
503
|
+
await conn.connect();
|
|
504
|
+
let q = conn.getQuery();
|
|
505
|
+
let messages = await q.table(this.config.queue_table).whereOp("channel", "in", Array.from(this.channels.keys())).whereOp("status", "in", ["pending", "failed"]).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
|
|
506
|
+
for (let msg of messages) {
|
|
507
|
+
try {
|
|
508
|
+
let callback = this.channels.get(msg.channel);
|
|
509
|
+
await callback(msg.message);
|
|
510
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
511
|
+
status: "processed",
|
|
512
|
+
updated_at: /* @__PURE__ */ new Date(),
|
|
513
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
514
|
+
retried_count: (msg.retried_count || 0) + 1
|
|
515
|
+
});
|
|
516
|
+
} catch (error) {
|
|
517
|
+
await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
|
|
518
|
+
status: "failed",
|
|
519
|
+
last_tried_at: /* @__PURE__ */ new Date(),
|
|
520
|
+
retried_count: (msg.retried_count || 0) + 1,
|
|
521
|
+
process_message: error.message || "Error processing message"
|
|
522
|
+
});
|
|
523
|
+
}
|
|
521
524
|
}
|
|
525
|
+
} catch (error) {
|
|
526
|
+
logger().error("Error in DatabaseTransport listen interval:", {
|
|
527
|
+
error
|
|
528
|
+
});
|
|
522
529
|
}
|
|
523
|
-
}
|
|
524
|
-
logger().error("Error in DatabaseTransport listen interval:", {
|
|
525
|
-
error
|
|
526
|
-
});
|
|
527
|
-
} finally {
|
|
528
|
-
await conn.disconnect();
|
|
529
|
-
}
|
|
530
|
+
});
|
|
530
531
|
}, "processMessage");
|
|
531
532
|
constructor(config3 = {}) {
|
|
532
533
|
this.config = { ...this.config, ...config3 };
|
|
@@ -650,7 +651,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
650
651
|
});
|
|
651
652
|
return rc;
|
|
652
653
|
});
|
|
653
|
-
var db = /* @__PURE__ */ __name((label = "default") => (0,
|
|
654
|
+
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
654
655
|
var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
655
656
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
656
657
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
@@ -706,7 +707,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
706
707
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
707
708
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
708
709
|
rc.setExtrasFunction((message) => {
|
|
709
|
-
message.requestId = (0,
|
|
710
|
+
message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
|
|
710
711
|
return message;
|
|
711
712
|
});
|
|
712
713
|
return rc;
|