@opengeni/worker-bundle 3.3.0 → 3.3.1-canary.38922642121001

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.
File without changes
File without changes
package/dist/index.js CHANGED
@@ -540,11 +540,13 @@ import {
540
540
  automaticSessionTitleFanoutDue,
541
541
  browserDeadlineCheckpointDue,
542
542
  knowledgeIndexDue,
543
+ maintainSubscriptionPlans,
543
544
  sandboxIdleCheckpointDue,
544
545
  sandboxLeaseReaperDue,
545
546
  sandboxMaintenanceDue,
546
547
  sessionWorkflowWakesDue,
547
548
  siteAuthMaintenanceDue,
549
+ subscriptionPlanMaintenanceDue,
548
550
  workspacePauseTimerDue
549
551
  } from "@opengeni/db";
550
552
  import {
@@ -664,13 +666,15 @@ var SITE_AUTH_MAINTENANCE_SCHEDULE_ID = "opengeni-site-auth-maintenance";
664
666
  var SITE_AUTH_MAINTENANCE_WORKFLOW_ID = "opengeni-site-auth-maintenance";
665
667
  var SITE_AUTH_MAINTENANCE_PERIOD_MS = 60 * 1e3;
666
668
  var SANDBOX_REAPER_SCHEDULE_ID = "opengeni-sandbox-lease-reaper";
669
+ var SUBSCRIPTION_PLAN_MAINTENANCE_PERIOD_MS = 6e4;
667
670
  var INTERNAL_MAINTENANCE_JOBS = [
668
671
  "session-workflow-wake-dispatcher",
669
672
  "knowledge-indexing",
670
673
  "site-auth-maintenance",
671
674
  "sandbox-lease-reaper",
672
675
  "sandbox-idle-checkpoint",
673
- "browser-deadline-checkpoint"
676
+ "browser-deadline-checkpoint",
677
+ "subscription-plan-maintenance"
674
678
  ];
675
679
  var LEGACY_SCHEDULE_IDS = {
676
680
  "session-workflow-wake-dispatcher": SESSION_WORKFLOW_WAKE_DISPATCHER_SCHEDULE_ID,
@@ -717,6 +721,24 @@ async function internalMaintenanceCadences(input) {
717
721
  const jobs = new Set(input.jobs ?? INTERNAL_MAINTENANCE_JOBS);
718
722
  const taskQueue = settings.temporalTaskQueue;
719
723
  const cadences = [];
724
+ if (settings.subscriptionPlansEnabled && jobs.has("subscription-plan-maintenance")) {
725
+ cadences.push({
726
+ job: "subscription-plan-maintenance",
727
+ periodMs: SUBSCRIPTION_PLAN_MAINTENANCE_PERIOD_MS,
728
+ hasWork: async () => await subscriptionPlanMaintenanceDue(db),
729
+ start: async () => {
730
+ const result = await maintainSubscriptionPlans(db, {
731
+ onError: (error, accountId) => observability.warn("Subscription plan maintenance account failed", {
732
+ accountId,
733
+ error: error instanceof Error ? error.message : String(error)
734
+ })
735
+ });
736
+ if (result.failedAccounts > 0)
737
+ throw new Error(`${result.failedAccounts} subscription plan maintenance accounts failed`);
738
+ return "started";
739
+ }
740
+ });
741
+ }
720
742
  if (jobs.has("session-workflow-wake-dispatcher")) {
721
743
  const { repairMissedSessionWorkflowWakes } = await import("./parent-wake-PCLH7A3Y.js");
722
744
  cadences.push({