2024-01-02
- Fix last version, error message at package install (TAR_ENTRY_INVALID checksum failure).
2023-10-04
- Add missing
ExecReload
parameter to systemd service template - Remove retry implementation on client-side handlers when the connection to the broker has not yet been established
- Client extends now from EventEmitter with 2 available events :
connect
: emit once the client is connected to hostsdisconnect
: emit once the client is disconnected from hosts manually
2023-09-29
- Added an automatic retry on the declaration of client-side handlers when the connection to the broker has not yet been established
- A new function
isConnected()
is now exported from the client. This function returns the current connection state.
2023-06-26
- Add CLI to manage queue. You now should use more commands and options :
- Commands :
start
-c Start the serversoft-stop
Gracefully stop the server (deny new connections, deny new messages, process messages in queues)reload
Reload the broker configurationinit-conf
Init configurationlist
-q, -i, -m, -p, -r, -s, -prs List all active queuesdelete
-q, -i, -p, -r, -s, -prs Delete a queue
- Options :
-c
[path] Path to config-q
[Queue name] Target a specific queue-i
[channel name] Target a specific channal from a queue. Should be use with -q option (same as --channel)--channel
[channel name] Target a specific channal from a queue. Should be use with -q option (same as -i)-m
Display message link to the queue-p
List only queue from the primary queue-r
List only queue from the primary reQueue-s
List only queue from the secondary queue-prs
List all queue. Is the default option if no other options sent (-p, -r, -s)
- Commands :
- it is now possible to empty a queue by calling
queue.empty(type, channel)
.
2022-07-06
- Fix: Previous version was not working due to missing comma.
2022-06-28
- Update kitten-socket dependency.
- Correct package.json
- Set correct npm reporsitory
- Set correct git repository
2022-04-22
- Don't start average stats' calculations timers until an http server is started.
2022-01-11
- Refactoring of rights management to fix various bugs.
2021-02-25
- Fix issue #8: The prefetch feature has changed ids generation for messages. Ids were generated by queues. However, it is too late to generate an id in the broker. So, message's id is generated in client.
2021-01-29
- Verify channel argument of methods
client.consume
andclient.listen
. - Fix old client acking.
2021-01-20
- Remove chars from statistics (
GET /statistics
) in order to be compliant with promotheus.
2021-01-18
- Brokers share the same message ids.
2021-01-15
- Add command
soft-stop
to gracefully shutdown the broker.
2021-01-14
- Add option
prefetch
for channels (broker configuration), default is1
. It determines the number of unacknowledged messages. - Add option
ttl
for channels (broker configuration), add a time to live for messages in queue. - Breaking change: if the secondary queue is full, messages are removed from the head instead of the end.
- Add optional parameter
delay
forack
method of a consummer:ack(false, delay)
. - Improve UI:
- Add stats per queue
- Add config display
- Add first 10 items display
- Add broker's uptime
- Fix, Statistics "per_seconds" were not correct.
- Fix, Stats were only availbale for one queue.
- Fix, reload command was not doing anything.
2020-12-09
- Channel validation was not correct.
2020-12-07
- Properly exit after command reload.
- Fix statistics output.
2020-12-07
- Add open metrics statistics.
- Add explicit log when not allowing handler registration for exclusive routes already registered.
- Show dropped items in logs when dropping items in secondary queue.
- Add HTTP route
GET /statistics
for Netdata. - Refacto queue tree in order to improve performance and simplify code.
- Fix a disconnection bug. Disconnected nodes were always in the queue tree.
- Fix timeout item the queue.
- Add setTimeout to reload the page at specified interval in configuration
pollIntervalHTTP
(in ms). Default value is 5 seconds. - Add overflow for last item in queue (UI);
- Add a margin between each queue (UI).
- Add an overflow for client lists (UI).
- Fix JSON data for UI.
- Enhance logs:
- Improve log cover
- Add a config key for master
logLevel = Int
to control lovel of logs among:1 -> Debug
2 -> Info
3 -> Warn
4 -> Error
- Improve requeue feature after packet's timeout. A
setInterval
is used to check every second (not configurable) the acknowledges. - Add management UI:
- HTTP port is
8080
by default. It is configurable with the config parameterhttpServerPort
. - Display queues:
- See internal queue length. A color is used to represent the length: green < 50%, red = 100%, orange > 50% && < 100%.
- See registered clients
- See last item in main and secondary queue.
- HTTP port is
- Fix queue execution when a client registered and the secondary queue is full.
- Fix client diconnection : when a client had multiple nodes, the disconnection of one node was unsubscribing all the nodes.
- Fix binary. exec() wast not loaded.
- The callback of kittenMQ.client().connect(config, callback) is called only once now. Before, it was called after each reconnection.
- Update kitten-jwt version (from 0.3.9 to 1.0.0)