Skip to content

Commit

Permalink
[Actors] Add ttl and data to API reference (dapr#4188)
Browse files Browse the repository at this point in the history
* add ttl and data to actors api

Signed-off-by: Hannah Hunter <[email protected]>

* Update daprdocs/content/en/reference/api/actors_api.md

Co-authored-by: Mark Fussell <[email protected]>
Signed-off-by: Hannah Hunter <[email protected]>

* Update daprdocs/content/en/reference/api/actors_api.md

Co-authored-by: Mark Fussell <[email protected]>
Signed-off-by: Hannah Hunter <[email protected]>

* Update daprdocs/content/en/reference/api/actors_api.md

Signed-off-by: Mark Fussell <[email protected]>

* add explanation from josh

Signed-off-by: Hannah Hunter <[email protected]>

---------

Signed-off-by: Hannah Hunter <[email protected]>
Signed-off-by: Hannah Hunter <[email protected]>
Signed-off-by: Mark Fussell <[email protected]>
Co-authored-by: Mark Fussell <[email protected]>
  • Loading branch information
2 people authored and filintod committed Jun 26, 2024
1 parent 487aa2a commit c5ff8a7
Showing 1 changed file with 27 additions and 2 deletions.
29 changes: 27 additions & 2 deletions daprdocs/content/en/reference/api/actors_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Parameter | Description
#### Examples

> Note, the following example uses the `ttlInSeconds` field, which requires the [`ActorStateTTL` feature enabled]]({{< ref "support-preview-features.md" >}}).
> Note, the following example uses the `ttlInSeconds` field, which requires the [`ActorStateTTL` feature enabled]({{< ref "support-preview-features.md" >}}).
```shell
curl -X POST http://localhost:3500/v1.0/actors/stormtrooper/50/state \
Expand Down Expand Up @@ -202,6 +202,8 @@ A JSON object with the following fields:
|-------|--------------|
| `dueTime` | Specifies the time after which the reminder is invoked. Its format should be [time.ParseDuration](https://pkg.go.dev/time#ParseDuration)
| `period` | Specifies the period between different invocations. Its format should be [time.ParseDuration](https://pkg.go.dev/time#ParseDuration) or ISO 8601 duration format with optional recurrence.
| `ttl` | Sets time at or interval after which the timer or reminder will be expired and deleted. Its format should be [time.ParseDuration format](https://pkg.go.dev/time#ParseDuration), RFC3339 date format, or ISO 8601 duration format.
| `data` | A string value and can be any related content. Content is returned when the reminder expires. For example this may be useful for returning a URL or anything related to the content.

`period` field supports `time.Duration` format and ISO 8601 format with some limitations. For `period`, only duration format of ISO 8601 duration `Rn/PnYnMnWnDTnHnMnS` is supported. `Rn/` specifies that the reminder will be invoked `n` number of times.

Expand All @@ -210,7 +212,11 @@ A JSON object with the following fields:

If `Rn/` is not specified, the reminder will run an infinite number of times until deleted.

The following specifies a `dueTime` of 3 seconds and a period of 7 seconds.
If only `ttl` and `dueTime` are set, the reminder will be accepted. However, only the `dueTime` takes effect. For example, the reminder triggers at `dueTime`, and `ttl` is ignored.

If `ttl`, `dueTime`, and `period` are set, the reminder first fires at `dueTime`, then repeatedly fires and expires according to `period` and `ttl`.

The following example specifies a `dueTime` of 3 seconds and a period of 7 seconds.

```json
{
Expand All @@ -237,6 +243,25 @@ To configure the reminder to fire only once, the period should be set to empty s
}
```

When you specify the repetition number in both `period` and `ttl`, the timer/reminder is stopped when either condition is met. The following example has a timer with a `period` of 3 seconds (in ISO 8601 duration format) and a `ttl` of 20 seconds. This timer fires immediately after registration, then every 3 seconds after that for the duration of 20 seconds, after which it never fires again since the `ttl` was met

```json
{
"period":"PT3S",
"ttl":"20s"
}
```

Need description for data.

```json
{
"data": "someData",
"dueTime": "1m",
"period": "20s"
}
```

#### HTTP Response Codes

Code | Description
Expand Down

0 comments on commit c5ff8a7

Please sign in to comment.