emqx/apps/emqx_retainer
Thales Macedo Garitezi 917575de5a
chore(mix): minimal elixir mix release build
This commit enables a minimal working build of EMQX release using
Mix.  However, to properly start the release, several configuration
steps are still missing.  A `mix_release.sh` script does a few hacks
to get the release built with Mix to start properly, by first assuming
that `make emqx` has been run prior to the release, ran once to
generate the `app.*.config` files, and then it copies that and some
other files to the expected places.

Also, `emqx_telemetry` hangs the start procedure because it thinks
it's in an official release and tries to make a request.  We disable
it temporarily via config just to get a working build for now.
2021-12-21 13:51:22 -03:00
..
etc feat(retainer): allow to stop publish clear msg 2021-12-03 14:41:42 +08:00
include feat(eqmx_retainer): let emqx_retainer can support other types of databases 2021-07-17 13:18:03 +08:00
src feat(retainer): allow to stop publish clear msg 2021-12-03 14:41:42 +08:00
test fix: allow listener not_found before restart 2021-12-12 22:18:56 +01:00
.gitignore style: ensure newline at EOF for all files 2021-11-04 14:40:14 +01:00
mix.exs chore(mix): minimal elixir mix release build 2021-12-21 13:51:22 -03:00
README.md refactor(proj): Add apps 2020-12-04 22:11:53 +01:00
rebar.config build: add erlang 24.0.1 for ci 2021-08-09 11:12:25 +02:00
TODO refactor(proj): Add apps 2020-12-04 22:11:53 +01:00

EMQ X Retainer

The retainer plugin is responsible for storing retained MQTT messages.

Configuration

etc/emqx_retainer.conf:

## Where to store the retained messages.
## Notice that all nodes in a cluster are to have the same storage_type.
##
## Value: ram | disc | disc_only
##  - ram: memory only
##  - disc: both memory and disc
##  - disc_only: disc only
##
## Default: ram
retainer.storage_type = ram

## Maximum number of retained messages allowed.
##
## Value: Number >= 0
retainer.max_retained_messages = 1000000

## Maximum payload size of a retained message.
##
## Value: Bytes
retainer.max_payload_size = 64KB

## Expiration interval of the retained messages. Never expire if the value is 0.
##
## Value: Duration
##  - h: hour
##  - m: minute
##  - s: second
##
## Examples:
##  - 2h:  2 hours
##  - 30m: 30 minutes
##  - 20s: 20 seconds
##
## Defaut: 0
retainer.expiry_interval = 0

License

Apache License Version 2.0

Author

EMQ X Team