FluxFlow.Components.Timers.Composition
1.5.0
See the version list below for details.
dotnet add package FluxFlow.Components.Timers.Composition --version 1.5.0
NuGet\Install-Package FluxFlow.Components.Timers.Composition -Version 1.5.0
<PackageReference Include="FluxFlow.Components.Timers.Composition" Version="1.5.0" />
<PackageVersion Include="FluxFlow.Components.Timers.Composition" Version="1.5.0" />
<PackageReference Include="FluxFlow.Components.Timers.Composition" />
paket add FluxFlow.Components.Timers.Composition --version 1.5.0
#r "nuget: FluxFlow.Components.Timers.Composition, 1.5.0"
#:package FluxFlow.Components.Timers.Composition@1.5.0
#addin nuget:?package=FluxFlow.Components.Timers.Composition&version=1.5.0
#tool nuget:?package=FluxFlow.Components.Timers.Composition&version=1.5.0
FluxFlow.Components.Timers.Composition
Optional FluxFlow.Composition registration helpers for standalone timer nodes
from FluxFlow.Components.Timers.
This package does not scan assemblies, resolve CLR types from strings, add hot
reload behavior, or convert schedule time zone ids. Hosts register closed
generic transform node types explicitly and provide optional keyed
TimeProvider services.
Registration
services.AddKeyedSingleton<TimeProvider>("fixed", timeProvider);
services
.AddFluxFlowComposition(configuration)
.RegisterNodes(registry => registry
.RegisterTimerInterval()
.RegisterTimerSchedule()
.RegisterTimerDelay<OrderMessage>()
.RegisterTimerThrottle<OrderMessage>()
.RegisterTimerDebounce<OrderMessage>());
Use custom node type names when a host needs more than one input shape:
registry
.RegisterTimerDelay<OrderMessage>("timer.delay.order")
.RegisterTimerDebounce<HttpMessage>("timer.debounce.http");
Node Types
| Type | Node | Optional resource | Ports |
|---|---|---|---|
timer.interval |
TimerIntervalNode |
clock |
Output |
timer.schedule |
TimerScheduleNode |
clock |
Output |
timer.delay |
TimerDelayNode<TInput> |
clock |
Input, Output |
timer.throttle |
TimerThrottleNode<TInput> |
clock |
Input, Output |
timer.debounce |
TimerDebounceNode<TInput> |
clock |
Input, Output |
The composition runtime starts interval and schedule sources through the normal
IFlowSource lifecycle. Transform nodes preserve the input correlation id when
they re-emit the original payload.
Design Metadata
TimersComponentDesignMetadataProvider exposes neutral Designer metadata for the
five timer composition nodes. Hosts can add it to a
ComponentDesignMetadataCatalog to populate palettes, editors, validation
views, or generated documentation.
The provider describes node options, ports, option grouping/editor hints, and a
resource picker hint for the optional clock resource. The clock remains a
host-owned composition resource with a clock key-pattern hint and is not exposed
as an editable node option. Schedule metadata covers cron/default UTC
composition behavior. It declares timeZone as an omitted editable option
because TimerScheduleSettings.TimeZone requires typed configuration and this
package still does not add time-zone id conversion.
Configuration
{
"FluxFlow": {
"Composition": {
"workflows": {
"main": {
"nodes": {
"poll": {
"type": "timer.interval",
"resources": {
"clock": "fixed"
},
"configuration": {
"name": "poll",
"interval": "00:00:01",
"emitImmediately": true,
"maxTicks": 10,
"boundedCapacity": 128
}
},
"rate-limit": {
"type": "timer.throttle",
"configuration": {
"name": "rate-limit",
"interval": "00:00:00.100",
"emitFirstImmediately": true,
"boundedCapacity": 128
}
}
},
"links": []
}
}
}
}
}
Timer settings bind to the existing settings records. timer.schedule uses the
existing TimerScheduleSettings shape; no additional time zone id conversion is
added by this adapter.
Invalid timer settings, such as non-positive intervals, negative delays, or
non-positive boundedCapacity, fail during composition build and surface as
factory diagnostics when build failures are configured as diagnostics.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FluxFlow.Components.Designer (>= 2.16.0)
- FluxFlow.Components.Timers (>= 3.1.1)
- FluxFlow.Composition (>= 1.0.9)
- FluxFlow.Composition.Hosting (>= 1.0.5)
-
net8.0
- FluxFlow.Components.Designer (>= 2.16.0)
- FluxFlow.Components.Timers (>= 3.1.1)
- FluxFlow.Composition (>= 1.0.9)
- FluxFlow.Composition.Hosting (>= 1.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.0-rc.1 | 85 | 9/5/2026 |
| 7.0.0-rc.1 | 92 | 8/9/2026 |
| 6.0.0 | 131 | 8/3/2026 |
| 1.6.0 | 133 | 7/3/2026 |
| 1.5.0 | 130 | 7/2/2026 |
Adds richer Designer option hints and a host-owned clock resource key pattern for timer composition metadata while preserving runtime behavior.