StemApp class
Convenience bootstrap for setting up a Stem runtime with sensible defaults.
- Implemented types
- Available extensions
Properties
- backend → ResultBackend
-
Optional result backend used by the helper.
final
- broker → QueueBroker
-
Active broker instance used by the helper.
final
- canvas ↔ Canvas
-
Canvas facade used for chains, groups, and chords.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
- isStarted → bool
-
Whether the managed worker has been started.
no setteroverride
- module → StemModule?
-
Optional default bundle registered into this app.
final
- registry → TaskRegistry
-
Task registry containing all registered handlers.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stem → Stem
-
Stem facade used to enqueue tasks.
final
- worker → Worker
-
Worker managed by the helper.
final
Methods
-
close(
) → Future< void> - Alias for shutdown.
-
createWorkflowApp(
{StemModule? module, Iterable< StemModule> modules = const [], Iterable<WorkflowDefinition< workflows = const [], Iterable<Object?> >Flow< flows = const [], Iterable<Object?> >WorkflowScript< scripts = const [], Iterable<Object?> >TaskHandler< tasks = const [], WorkflowStoreFactory? storeFactory, WorkflowEventBusFactory? eventBusFactory, StemWorkerConfig workerConfig = const StemWorkerConfig(queue: 'workflow'), String? continuationQueue, String? executionQueue, Duration pollInterval = const Duration(milliseconds: 500), Duration leaseExtension = const Duration(seconds: 30), WorkflowRegistry? workflowRegistry, WorkflowIntrospectionSink? introspectionSink}) → Future<Object?> >StemWorkflowApp> -
Available on StemApp, provided by the StemAppWorkflowExtension extension
Creates a workflow app on top of this shared task app. -
enqueue(
String name, {Map< String, Object?> args = const {}, Map<String, String> headers = const {}, TaskOptions options = const TaskOptions(), DateTime? notBefore, Map<String, Object?> meta = const {}, TaskEnqueueOptions? enqueueOptions}) → Future<String> -
Enqueue a task by name.
override
-
enqueueCall<
TArgs, TResult> (TaskCall< TArgs, TResult> call, {TaskEnqueueOptions? enqueueOptions}) → Future<String> -
Enqueue a typed task call.
override
-
enqueueJson<
T extends Object> (String name, T argsJson, {Map< String, String> headers = const {}, TaskOptions options = const TaskOptions(), DateTime? notBefore, Map<String, Object?> meta = const {}, TaskEnqueueOptions? enqueueOptions, String? typeName}) → Future<String> -
Available on TaskEnqueuer, provided by the TaskEnqueuerBuilderExtension extension
Enqueues a name-based task from a DTO that already exposestoJson(). -
enqueueValue<
T> (String name, T value, {Codec< T, Object?> ? codec, Map<String, String> headers = const {}, TaskOptions options = const TaskOptions(), DateTime? notBefore, Map<String, Object?> meta = const {}, TaskEnqueueOptions? enqueueOptions}) → Future<String> -
Enqueue a dynamic-name task using a typed value plus optional
codec.override -
enqueueVersionedJson<
T extends Object> (String name, T argsJson, {required int version, Map< String, String> headers = const {}, TaskOptions options = const TaskOptions(), DateTime? notBefore, Map<String, Object?> meta = const {}, TaskEnqueueOptions? enqueueOptions, String? typeName}) → Future<String> -
Available on TaskEnqueuer, provided by the TaskEnqueuerBuilderExtension extension
Enqueues a name-based task from a DTO and persists a schemaversionbeside the JSON payload. -
getGroupStatus(
String groupId) → Future< GroupStatus?> -
Reads the latest group status by group id.
override
-
getTaskStatus(
String taskId) → Future< TaskStatus?> -
Reads the latest task status by task id.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
register(
TaskHandler< Object?> handler) → void - Registers an additional task handler with the underlying registry.
-
registerModule(
StemModule module) → void -
Registers all task handlers from
moduleinto this app. -
registerModules(
Iterable< StemModule> modules) → void -
Registers all task handlers from
modulesinto this app. -
registerTask(
TaskHandler< Object?> handler) → void -
Registers
handlerwith the underlying registry. -
registerTasks(
Iterable< TaskHandler< handlers) → voidObject?> > -
Registers
handlerswith the underlying registry. -
runUntilIdle(
{required Duration budget, Duration shutdownReserve = const Duration(seconds: 5), Duration idleTimeout = const Duration(seconds: 1), Future< void> ? cancellation}) → Future<WorkerRunOutcome> - Runs a fresh callback-owned application once and disposes owned resources.
-
shutdown(
) → Future< void> -
Permanently shuts down the worker and disposes managed resources once.
override
-
start(
) → Future< void> -
Starts the managed worker if it is not already running.
override
-
toString(
) → String -
A string representation of this object.
inherited
-
waitForTask<
TResult extends Object?> (String taskId, {Duration? timeout, TResult decode(Object? payload)?, TResult decodeJson(Map< String, dynamic> payload)?, TResult decodeVersionedJson(Map<String, dynamic> payload, int version)?}) → Future<TaskResult< TResult> ?> -
Waits for a task result by task id.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
create(
{StemModule? module, Iterable< StemModule> modules = const [], Iterable<TaskHandler< tasks = const [], TaskRegistry? registry, StemBrokerFactory? broker, StemBackendFactory? backend, StemWorkerConfig workerConfig = const StemWorkerConfig(), RevokeStore? revokeStore, UniqueTaskCoordinator? uniqueTaskCoordinator, RetryStrategy? retryStrategy, Iterable<Object?> >Middleware> middleware = const [], PayloadSigner? signer, RoutingRegistry? routing, TaskPayloadEncoderRegistry? encoderRegistry, TaskPayloadEncoder resultEncoder = const JsonTaskPayloadEncoder(), TaskPayloadEncoder argsEncoder = const JsonTaskPayloadEncoder(), Iterable<TaskPayloadEncoder> additionalEncoders = const []}) → Future<StemApp> - Creates a new Stem application with the provided configuration.
-
fromClient(
StemClient client, {StemModule? module, Iterable< StemModule> modules = const [], Iterable<TaskHandler< tasks = const [], StemWorkerConfig workerConfig = const StemWorkerConfig()}) → Future<Object?> >StemApp> - Creates a Stem app using a shared StemClient.
-
fromUrl(
String url, {StemModule? module, Iterable< StemModule> modules = const [], Iterable<TaskHandler< tasks = const [], TaskRegistry? registry, Iterable<Object?> >StemStoreAdapter> adapters = const [], StemStoreOverrides overrides = const StemStoreOverrides(), StemWorkerConfig workerConfig = const StemWorkerConfig(), RevokeStore? revokeStore, UniqueTaskCoordinator? uniqueTaskCoordinator, bool uniqueTasks = false, Duration uniqueTaskDefaultTtl = const Duration(minutes: 5), String uniqueTaskNamespace = 'stem:unique', bool requireRevokeStore = false, RetryStrategy? retryStrategy, Iterable<Middleware> middleware = const [], PayloadSigner? signer, RoutingRegistry? routing, TaskPayloadEncoderRegistry? encoderRegistry, TaskPayloadEncoder resultEncoder = const JsonTaskPayloadEncoder(), TaskPayloadEncoder argsEncoder = const JsonTaskPayloadEncoder(), Iterable<TaskPayloadEncoder> additionalEncoders = const [], StemStack? stack}) → Future<StemApp> - Creates an app from a single backend URL plus adapter wiring.
-
inMemory(
{StemModule? module, Iterable< StemModule> modules = const [], Iterable<TaskHandler< tasks = const [], StemWorkerConfig workerConfig = const StemWorkerConfig(), TaskPayloadEncoderRegistry? encoderRegistry, TaskPayloadEncoder resultEncoder = const JsonTaskPayloadEncoder(), TaskPayloadEncoder argsEncoder = const JsonTaskPayloadEncoder(), Iterable<Object?> >TaskPayloadEncoder> additionalEncoders = const []}) → Future<StemApp> - Creates an in-memory Stem application (broker + result backend).