Skip to main content

GmTimer

A pending one-shot timer: a delayed invocation that has been armed but has not fired yet. Timers are removed from this list the moment they are claimed for execution.

type GmTimer {
timerId: String!
appId: BigInt!
sessionId: String
selfContainerId: String!
functionName: String!
paramsJson: String!
fireAt: DateTime!
dedupeKey: String
cascadeDepth: Int!
flowId: String
armedBy: String!
createdAt: DateTime!
}

Fields

GmTimer.timerId ● String! non-null scalar

Unique timer id (UUID).

GmTimer.appId ● BigInt! non-null scalar

The app (tenant).

GmTimer.sessionId ● String scalar

Session the delayed invocation runs in, or null if app-global.

GmTimer.selfContainerId ● String! non-null scalar

Container the delayed invocation runs against ("self").

GmTimer.functionName ● String! non-null scalar

The function that will be invoked when it fires.

GmTimer.paramsJson ● String! non-null scalar

JSON object of parameters bound at arm time and passed to the invocation.

GmTimer.fireAt ● DateTime! non-null scalar

When the timer becomes due.

GmTimer.dedupeKey ● String scalar

App-scoped dedupe key, or null. Re-arming the same key replaces this timer instead of adding another.

GmTimer.cascadeDepth ● Int! non-null scalar

Cascade depth inherited from whatever armed the timer. The fired invocation runs one deeper, so timer chains are bounded by the app's maxCascadeDepth.

GmTimer.flowId ● String scalar

Flow correlation id carried from the arming call, so the eventual fire stays visible in gameModelFlow.

GmTimer.armedBy ● String! non-null scalar

What armed it: function (a timer effect inside an invoke) | client (gameModelScheduleInvoke) | automation.

GmTimer.createdAt ● DateTime! non-null scalar

When the timer was armed.

Returned By

gameModelScheduleInvoke mutation ● gameModelTimers query