Zum Hauptinhalt springen

CommunicationLifecycleDto

Namespace: Meshmakers.Octo.Communication.Contracts.DataTransferObjects

Per-tenant communication lifecycle configuration (AB#4914), exposed via GET/PUT {tenantId}/v1/communication/lifecycle. Runtime configuration — set per tenant via octo-cli / Studio, no controller redeploy involved.

public record CommunicationLifecycleDto : IEquatable<CommunicationLifecycleDto>

Inheritance Object → CommunicationLifecycleDto
Implements IEquatable<CommunicationLifecycleDto>

Properties​

ScaleToZeroEnabled​

Master switch for scale-to-zero on the tenant (default false). Even a workload with LifecycleMode=OnDemand is never hibernated while this is off; switching it off is the emergency stop (the idle watchdog stops hibernating, already-hibernated workloads wake on next demand or via the wake API).

public bool ScaleToZeroEnabled { get; set; }

Property Value​

Boolean

LeasingEnabled​

Master switch for adapter-pool leasing on the tenant (AB#4924, default false). It governs both halves of a lease and the tenant means a different thing in each, which is why one flag is enough: on the lending tenant it is "this tenant's pools hand their members out", and on the borrowing tenant it is "this tenant's Leased adapters get scheduled". A lease needs both to be on — lending is the lender's capability, borrowing is the borrower's, and neither tenant can assert the other's (concept §13).

🔴 Switching it off holds the queue; it neither drains it nor cancels it. Work already Queued stays Queued and visible in all three queue surfaces, no new work is enqueued and no lease is granted. Draining would mean "off" still runs the next hour of work; cancelling would destroy work an operator never asked to lose. Turning the switch back on resumes the queue in its original order; DELETE {tenantId}/v1/adapterPool/{id}/queue/{executionId} is how an operator discards it.

public bool LeasingEnabled { get; set; }

Property Value​

Boolean

Constructors​

CommunicationLifecycleDto(Boolean, Boolean)​

Per-tenant communication lifecycle configuration (AB#4914), exposed via GET/PUT {tenantId}/v1/communication/lifecycle. Runtime configuration — set per tenant via octo-cli / Studio, no controller redeploy involved.

public CommunicationLifecycleDto(bool ScaleToZeroEnabled, bool LeasingEnabled)

Parameters​

ScaleToZeroEnabled Boolean
Master switch for scale-to-zero on the tenant (default false). Even a workload with LifecycleMode=OnDemand is never hibernated while this is off; switching it off is the emergency stop (the idle watchdog stops hibernating, already-hibernated workloads wake on next demand or via the wake API).

LeasingEnabled Boolean
Master switch for adapter-pool leasing on the tenant (AB#4924, default false). It governs both halves of a lease and the tenant means a different thing in each, which is why one flag is enough: on the lending tenant it is "this tenant's pools hand their members out", and on the borrowing tenant it is "this tenant's Leased adapters get scheduled". A lease needs both to be on — lending is the lender's capability, borrowing is the borrower's, and neither tenant can assert the other's (concept §13).

🔴 Switching it off holds the queue; it neither drains it nor cancels it. Work already Queued stays Queued and visible in all three queue surfaces, no new work is enqueued and no lease is granted. Draining would mean "off" still runs the next hour of work; cancelling would destroy work an operator never asked to lose. Turning the switch back on resumes the queue in its original order; DELETE {tenantId}/v1/adapterPool/{id}/queue/{executionId} is how an operator discards it.