Inconsistent behaviour between docs and implementation in Actor Timers and Reminders
See original GitHub issueWhile 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 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 formatperiod
| Specifies the period between different invocations, its format should be time.ParseDuration format or ISO 8601 duration format with optional recurrence.
Issue Analytics
- State:
- Created 2 years ago
- Comments:10 (9 by maintainers)
Top GitHub Comments
@mukundansundar I am currently working on some other stuff as well, but I might give it a go if it is still an open issue by the time I am done. In the meantime, if anyone wants to give it a go feel free to do so - might even be a decent up-for-grabs.
I agree with the builder pattern proposed above.