Skip to content

cayu.tasks.InMemoryTaskStore

Part of cayu.tasks.base. Read the Python API overview and install the required extra.

from cayu.tasks import InMemoryTaskStore

In-process task store for tests, local development, and examples.

Decorators: @model_store_surface('tasks').

Bases: TaskStore.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
service_durability RuntimeStoreDurability RuntimeStoreDurability.DEVELOPMENT

list_task_group_reconciliation_candidates (method)

Section titled “list_task_group_reconciliation_candidates (method)”
async InMemoryTaskStore.list_task_group_reconciliation_candidates(*, after_group_id: str | None=None, limit: int=100) -> list[str]
async InMemoryTaskStore.reconcile_task_group(group_id: str) -> TaskGroupSnapshot
async InMemoryTaskStore.resolve_task_group_quiescence(request: TaskGroupQuiescenceResolution) -> TaskGroupSnapshot
async InMemoryTaskStore.create_task_group(request: TaskGroupCreate) -> TaskGroupCreationReceipt
async InMemoryTaskStore.load_task_group(group_id: str) -> TaskGroupSnapshot | None
async InMemoryTaskStore.list_task_group_events(group_id: str, *, after_sequence: int=0, limit: int=100) -> list[TaskGroupEvent]
async InMemoryTaskStore.create_task_graph(request: TaskGraphCreate) -> TaskGraphCreationReceipt
async InMemoryTaskStore.load_task_graph(graph_id: str) -> TaskGraphSnapshot | None
async InMemoryTaskStore.list_task_graph_events(graph_id: str, *, after_sequence: int=0, limit: int=100) -> list[TaskGraphEvent]
async InMemoryTaskStore.publish_work_contract(contract: WorkContract) -> WorkContract
async InMemoryTaskStore.load_work_contract(reference: WorkContractRef) -> WorkContract | None

load_active_work_contract_task_for_session (method)

Section titled “load_active_work_contract_task_for_session (method)”
async InMemoryTaskStore.load_active_work_contract_task_for_session(session_id: str) -> Task | None
async InMemoryTaskStore.admit_ordinary_session_execution(session_id: str) -> None
async InMemoryTaskStore.hold_claimed_work_contract_task(task_id: str, *, worker_id: str, lease_expires_at: datetime | None=None, contract: WorkContractRef) -> Task
async InMemoryTaskStore.begin_work_attempt(request: WorkAttemptCreate) -> WorkAttempt
async InMemoryTaskStore.enter_work_attempt_execution(request: WorkAttemptExecutionEntryRequest) -> WorkAttemptExecutionEntryResult
async InMemoryTaskStore.hold_work_attempt_preparation(request: WorkAttemptPreparationHold) -> WorkAttemptPreparationHoldReceipt

record_work_attempt_execution_stop (method)

Section titled “record_work_attempt_execution_stop (method)”
async InMemoryTaskStore.record_work_attempt_execution_stop(request: WorkAttemptExecutionStopRequest) -> WorkAttemptAdmission

load_work_attempt_preparation_hold_receipt (method)

Section titled “load_work_attempt_preparation_hold_receipt (method)”
async InMemoryTaskStore.load_work_attempt_preparation_hold_receipt(hold_id: str) -> WorkAttemptPreparationHoldReceipt | None
async InMemoryTaskStore.prepare_work_attempt_admission(request: WorkAttemptAdmissionPrepare) -> WorkAttemptAdmission
async InMemoryTaskStore.activate_work_attempt_admission(request: WorkAttemptAdmissionActivate) -> WorkAttemptAdmission
async InMemoryTaskStore.load_work_attempt_admission(admission_id: str) -> WorkAttemptAdmission | None

load_work_attempt_execution_claim (method)

Section titled “load_work_attempt_execution_claim (method)”
async InMemoryTaskStore.load_work_attempt_execution_claim(claim_id: str) -> WorkAttemptExecutionClaim | None

load_latest_work_attempt_admission (method)

Section titled “load_latest_work_attempt_admission (method)”
async InMemoryTaskStore.load_latest_work_attempt_admission(task_id: str) -> WorkAttemptAdmission | None
async InMemoryTaskStore.settle_work_attempt_lifecycle(request: WorkAttemptLifecycleSettlement) -> WorkAttemptLifecycleReceipt

list_unsettled_work_attempt_admissions (method)

Section titled “list_unsettled_work_attempt_admissions (method)”
async InMemoryTaskStore.list_unsettled_work_attempt_admissions(*, task_filter: TaskAggregateFilter | None=None, limit: int=100, after: str | None=None) -> list[WorkAttemptAdmission]

load_work_attempt_lifecycle_receipt (method)

Section titled “load_work_attempt_lifecycle_receipt (method)”
async InMemoryTaskStore.load_work_attempt_lifecycle_receipt(admission_id: str) -> WorkAttemptLifecycleReceipt | None
async InMemoryTaskStore.prepare_local_execution_attempt(authority: LocalExecutionAttemptAuthority) -> LocalExecutionAttemptRecord
async InMemoryTaskStore.start_local_execution_attempt(start: LocalExecutionAttemptStart) -> LocalExecutionAttemptRecord
async InMemoryTaskStore.settle_local_execution_attempt(settlement: LocalExecutionAttemptSettlement) -> LocalExecutionAttemptRecord
async InMemoryTaskStore.load_local_execution_attempt(attempt_id: str) -> LocalExecutionAttemptRecord | None

list_unsettled_local_execution_attempts (method)

Section titled “list_unsettled_local_execution_attempts (method)”
async InMemoryTaskStore.list_unsettled_local_execution_attempts(*, limit: int=100, after: LocalExecutionAttemptListCursor | None=None) -> tuple[LocalExecutionAttemptRecord, ...]

claim_local_execution_attempt_recovery (method)

Section titled “claim_local_execution_attempt_recovery (method)”
async InMemoryTaskStore.claim_local_execution_attempt_recovery(claim: LocalExecutionAttemptRecoveryClaim) -> LocalExecutionAttemptRecord

renew_work_attempt_execution_claim (method)

Section titled “renew_work_attempt_execution_claim (method)”
async InMemoryTaskStore.renew_work_attempt_execution_claim(request: WorkAttemptExecutionClaimRequest) -> WorkAttemptAdmission
async InMemoryTaskStore.claim_work_attempt_recovery(request: WorkAttemptExecutionClaimRequest) -> WorkAttemptAdmission
async InMemoryTaskStore.activate_work_attempt_recovery(request: WorkAttemptRecoveryActivate) -> WorkAttemptAdmission

submit_admitted_completion_proposal (method)

Section titled “submit_admitted_completion_proposal (method)”
async InMemoryTaskStore.submit_admitted_completion_proposal(request: AdmittedCompletionProposalRequest) -> CompletionProposal
async InMemoryTaskStore.load_work_attempt(attempt_id: str) -> WorkAttempt | None
async InMemoryTaskStore.submit_completion_proposal(request: CompletionProposalCreate) -> CompletionProposal
async InMemoryTaskStore.load_completion_proposal(proposal_id: str) -> CompletionProposal | None

load_completion_proposal_for_attempt (method)

Section titled “load_completion_proposal_for_attempt (method)”
async InMemoryTaskStore.load_completion_proposal_for_attempt(attempt_id: str) -> CompletionProposal | None

prepare_completion_verifier_profile (method)

Section titled “prepare_completion_verifier_profile (method)”
async InMemoryTaskStore.prepare_completion_verifier_profile(request: CompletionVerifierProfilePreparationRequest) -> CompletionVerifierProfileRecord
async InMemoryTaskStore.load_completion_verifier_profile(proposal_id: str) -> CompletionVerifierProfileRecord | None

load_prior_completion_verifier_profile (method)

Section titled “load_prior_completion_verifier_profile (method)”
async InMemoryTaskStore.load_prior_completion_verifier_profile(proposal_id: str) -> CompletionVerifierProfileRecord | None
async InMemoryTaskStore.claim_completion_verification(request: CompletionVerificationClaimRequest) -> CompletionVerificationClaim

load_completion_verification_claim (method)

Section titled “load_completion_verification_claim (method)”
async InMemoryTaskStore.load_completion_verification_claim(proposal_id: str) -> CompletionVerificationClaim | None

renew_completion_verification_claim (method)

Section titled “renew_completion_verification_claim (method)”
async InMemoryTaskStore.renew_completion_verification_claim(request: CompletionVerificationClaimRequest) -> CompletionVerificationClaim
async InMemoryTaskStore.record_completion_decision(request: CompletionDecisionCreate) -> CompletionDecision
async InMemoryTaskStore.load_completion_decision(decision_id: str) -> CompletionDecision | None

load_completion_decision_for_proposal (method)

Section titled “load_completion_decision_for_proposal (method)”
async InMemoryTaskStore.load_completion_decision_for_proposal(proposal_id: str) -> CompletionDecision | None
async InMemoryTaskStore.apply_completion_decision(request: CompletionDecisionApplicationRequest) -> Task

load_completion_decision_application_receipt (method)

Section titled “load_completion_decision_application_receipt (method)”
async InMemoryTaskStore.load_completion_decision_application_receipt(task_id: str, idempotency_key: str) -> CompletionDecisionApplicationReceipt | None
async InMemoryTaskStore.create_task(request: TaskCreate) -> Task
async InMemoryTaskStore.reschedule_task(request: TaskRescheduleRequest) -> TaskScheduleReceipt
async InMemoryTaskStore.cancel_scheduled_task(request: TaskScheduleCancelRequest) -> TaskScheduleReceipt
async InMemoryTaskStore.list_task_schedule_events(task_id: str, *, after_sequence: int=0, limit: int=100) -> list[TaskScheduleEvent]
async InMemoryTaskStore.next_task_schedule_wakeup(query: TaskQuery | None=None) -> TaskScheduleWakeup
async InMemoryTaskStore.create_running_task(request: TaskCreate, *, session_invocation: SessionInvocationBinding) -> Task
async InMemoryTaskStore.load_task(task_id: str, *, _access_bounds=None) -> Task | None
async InMemoryTaskStore.load_active_attached_task_worker(task_id: str, worker_id: str, *, session_id: str, session_instance_id: str) -> Task
async InMemoryTaskStore.load_direct_attached_task_resume(task_id: str, *, session_id: str, session_instance_id: str) -> Task
async InMemoryTaskStore.load_invocation_snapshot(task_id: str) -> TaskInvocationSnapshot | None
async InMemoryTaskStore.list_tasks(query: TaskQuery | None=None, *, _access_bounds=None) -> list[Task]
async InMemoryTaskStore.load_session_closure_claim(session_id: str) -> TaskSessionClosureClaim | None
async InMemoryTaskStore.claim_session_closure(claim: TaskSessionClosureClaim) -> TaskSessionClosureClaim
async InMemoryTaskStore.delete_session_tasks(session_id: str, *, task_ids: tuple[str, ...], policy: Any) -> None
async InMemoryTaskStore.aggregate_operational_snapshot(filters: TaskAggregateFilter | None=None) -> TaskOperationalSnapshot
async InMemoryTaskStore.query_task_topology(query: TaskTopologyQuery) -> TaskTopologyStoreResult
async InMemoryTaskStore.start_task(task_id: str, *, session_id: str | None=None, session_invocation: SessionInvocationBinding | None=None) -> Task
async InMemoryTaskStore.attach_task(task_id: str, *, session_id: str, session_invocation: SessionInvocationBinding, worker_id: str, lease_expires_at: datetime | None=None) -> Task
async InMemoryTaskStore.complete_task(task_id: str, result: dict[str, Any], *, worker_id: str | None=None, lease_expires_at: datetime | None=None, handoff_id: str | None=None) -> Task
async InMemoryTaskStore.fail_task(task_id: str, error: dict[str, Any], *, worker_id: str | None=None, lease_expires_at: datetime | None=None, handoff_id: str | None=None) -> Task
async InMemoryTaskStore.terminalize_task(request: TaskTerminalizationRequest) -> Task

load_task_terminalization_receipt (method)

Section titled “load_task_terminalization_receipt (method)”
async InMemoryTaskStore.load_task_terminalization_receipt(task_id: str, idempotency_key: str) -> TaskTerminalizationReceipt | None
async InMemoryTaskStore.recover_attached_task_failure(request: TaskTerminalizationRequest, *, session_id: str, session_instance_id: str) -> Task
async InMemoryTaskStore.release_interrupted_task_worker(request: TaskInterruptedHandoffRequest) -> TaskInterruptedHandoffReceipt
async InMemoryTaskStore.recover_interrupted_task_worker(request: TaskInterruptedHandoffRequest) -> TaskInterruptedHandoffReceipt

load_interrupted_task_handoff_receipt (method)

Section titled “load_interrupted_task_handoff_receipt (method)”
async InMemoryTaskStore.load_interrupted_task_handoff_receipt(task_id: str, handoff_id: str) -> TaskInterruptedHandoffReceipt | None

list_expired_interrupted_task_handoff_candidates (method)

Section titled “list_expired_interrupted_task_handoff_candidates (method)”
async InMemoryTaskStore.list_expired_interrupted_task_handoff_candidates(*, after: tuple[datetime, str] | None=None, limit: int=100) -> list[Task]

load_expired_interrupted_task_handoff_candidate (method)

Section titled “load_expired_interrupted_task_handoff_candidate (method)”
async InMemoryTaskStore.load_expired_interrupted_task_handoff_candidate(task_id: str) -> Task | None

claim_interrupted_task_continuation (method)

Section titled “claim_interrupted_task_continuation (method)”
async InMemoryTaskStore.claim_interrupted_task_continuation(worker_id: str, query: TaskQuery | None=None, *, handoff_id: str, task_id: str | None=None, lease_seconds: int=300, after: tuple[datetime, str] | None=None, scan_limit: int=_TASK_INTERRUPTED_HANDOFF_RECOVERY_MAX_PAGE_SIZE) -> InterruptedTaskContinuationClaimPage
async InMemoryTaskStore.reconcile_task_cancellation(request: TaskCancellationReconciliationRequest) -> TaskCancellationReconciliationResult
async InMemoryTaskStore.settle_task_retry_attempt(request: TaskRetrySettlementRequest) -> TaskRetrySettlementResult
async InMemoryTaskStore.load_task_retry_settlement(task_id: str, idempotency_key: str) -> TaskRetrySettlementResult | None

reconcile_task_retry_cancellation (method)

Section titled “reconcile_task_retry_cancellation (method)”
async InMemoryTaskStore.reconcile_task_retry_cancellation(request: TaskRetryCancellationReconciliationRequest) -> TaskRetrySettlementResult
async InMemoryTaskStore.enforce_task_retry_deadline(task_id: str, worker_id: str, *, lease_expires_at: datetime, token_count: int=0, estimated_cost: Decimal=Decimal(0)) -> TaskRetrySettlementResult | None
async InMemoryTaskStore.task_retry_deadline_elapsed(task_id: str, worker_id: str, *, lease_expires_at: datetime) -> bool
async InMemoryTaskStore.cancel_task(task_id: str, error: dict[str, Any] | None=None) -> Task

request_claimed_task_cancellation (method)

Section titled “request_claimed_task_cancellation (method)”
async InMemoryTaskStore.request_claimed_task_cancellation(task_id: str, worker_id: str, lease_expires_at: datetime, error: dict[str, Any] | None=None) -> Task

mark_claimed_task_execution_started (method)

Section titled “mark_claimed_task_execution_started (method)”
async InMemoryTaskStore.mark_claimed_task_execution_started(task_id: str, worker_id: str, lease_expires_at: datetime) -> Task
async InMemoryTaskStore.pause_task(task_id: str, *, reason: str | None=None, payload: dict[str, Any] | None=None) -> Task
async InMemoryTaskStore.block_task(task_id: str, *, reason: str | None=None, payload: dict[str, Any] | None=None) -> Task
async InMemoryTaskStore.mark_task_needs_attention(task_id: str, *, reason: str | None=None, payload: dict[str, Any] | None=None) -> Task
async InMemoryTaskStore.resume_task(task_id: str) -> Task
async InMemoryTaskStore.claim_task(worker_id: str, query: TaskQuery | None=None, *, lease_seconds: int=300) -> Task | None
async InMemoryTaskStore.heartbeat(task_id: str, worker_id: str, *, lease_expires_at: datetime, handoff_id: str | None=None, extend_seconds: int=300) -> Task
async InMemoryTaskStore.release_task(task_id: str, worker_id: str, *, lease_expires_at: datetime) -> Task
async InMemoryTaskStore.release_attached_task_worker(task_id: str, worker_id: str, *, lease_expires_at: datetime) -> Task
async InMemoryTaskStore.reclaim_expired(*, query: TaskQuery | None=None, max_reclaims: int=100) -> list[Task]
InMemoryTaskStore.__init__(*, clock: Callable[[], datetime] | None=None, ownership_clock: Callable[[], datetime] | None=None) -> None

Release source · Runtime guarantees · Capability guides