Tags: renowncoder/queue-1
Tags
## Overview
This release introduce:
* "Shared session" machinery. Previously, a connection to a server
was synonym of the queue session. But now multiple connections can work with
tasks in one logical session.
* Possibility to work with tasks after reconnect. The queue module now provides
the ability to set the `ttr` setting for sessions by using
`queue.cfg({ ttr = ttr_in_sec})`, which characterizes how long the logical
session will exist after all active connections are closed. So, it is possible
to `take()` a task, reconnect to the server, identify to the previous session
(using `queue.identify()`) and after to `ack()` the task.
* Fix custom driver registration after reboot.
## New features
* "Shared sessions" was added to the queue. Previously, a connection to server
was synonym of the queue session. Now the session has a unique UUID (returned
by the "queue.identify()" method), and one session can have many connections.
To connect to an existing session, call "queue.identify(uuid)" with the
previously obtained UUID.
* Possibility to work with tasks after reconnect. The queue module now provides
the ability to set the `ttr` setting for sessions by
`queue.cfg({ ttr = ttr_in_sec})`, which characterizes how long the logical
session will exist after all active connections are closed.
## Bugfixes
* Fix custom driver registration after reboot. Previously, if a custom driver is
registered after calling box.cfg() it causes a problem when the instance will
be restarted.
## Overview This release add the ability to start an instance with a loaded queue module in read-only mode. ## New features * Add the ability to start an instance with a loaded queue module in read-only mode. In this case, a start of the module will be delayed until the instance will be configured with read_only = false. Previously, when trying to initialize the queue module on an instance configured in ro mode, an error occurred: "ER_READONLY: Can't modify data because this instance is in read-only mode." See https://github.com/tarantool/queue#initialization for more details. ## Bugfixes No. # # Write a message for tag: # 1.0.8 # Lines starting with '#' will be kept; you may remove them yourself if you want to.
## Overview This release fixes critical problem in queue that may cause an error for some drivers (*ttl core drivers) while tasks releases on start of the queue: "attempt to index local 'opts' (a nil value)" In addition, the release adds a check for missing methods in the driver implementation. It's important when using external drivers. We highly recommend to update to this version if you use *ttl core drivers or external ones. ## Breaking changes A check for a driver API implementation was added. Now, the consumer will be informed about the missing methods in the driver implementation (an error will be thrown). ## New features No. ## Bugfixes * Fix the tasks releases on start for some drivers (utubettl, fifottl, limfifottl). Before, an attempt to release "taken" tasks on start lead to an error: "attempt to index local 'opts' (a nil value)" (tarantool#121). ## Other * Updated the requirements for the "delete" driver method. Now, the method should change the state of a task to "done". Before, it was duplicated by external code. * Added notification about missing methods in the driver implementation (tarantool#126). # # Write a message for tag: # 1.0.7 # Lines starting with '#' will be kept; you may remove them yourself if you want to.
## Overview This release fixes several critical problems in queue, which can cause task being stuck in 'taken' state or even lead to the inconsistent state of runtime queue data. We highly recommend to update to this version. ## Breaking changes This release should not break existing code. ## New features No. ## Bugfixes * Fix releasing tasks at a client disconnection (tarantool#103). * Optimize statistics build (-15% in some cases) (tarantool#92). * Release all taken tasks at start (tarantool#66). * Don't take tasks during a client disconnection (tarantool#104).
PreviousNext