Skip to content

Inconsistent behaviour between docs and implementation in Actor Timers and Reminders #681

Description

@Giovds

While implementing #658 (Adding support for TTL and intervals) I possibly came across some inconsistency with the documentation on Actor Timers and Reminders.

Expected Behavior

The dapr-sdk-actors implementation - the AbstractActor class which a client inherits for their own Actor implementation, to be more specific - matches the documentation. Or of course, vice-versa, the documentation matches the implementation.

Actual Behavior

The current implementation of registerReminder() and registerActorTimer() in AbstractActor requires both dueTime and period to be present.

I've found the following documentation on Actor Timers:
https://docs.dapr.io/developing-applications/building-blocks/actors/howto-actors/#actor-timers-and-reminders

Which states the following:

dueTime is an optional parameter that sets time at which or time interval before the callback is invoked for the first time.

period is an optional parameter that sets time interval between two consecutive callback invocations

The request structure for reminders is identical to those of actors. Please refer to the actor timers examples.

The reference API documentation states the following on Reminders: https://docs.dapr.io/reference/api/actors_api/#create-actor-reminder. I can't seem to find any information about optional fields here, or TTL for that matter.

dueTime | Specifies the time after which the reminder is invoked, its format should be time.ParseDuration format
period | Specifies the period between different invocations, its format should be time.ParseDuration format or ISO 8601 duration format with optional recurrence.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions