Releases: BinChengZhao/delay-timer
V0.11.5
V0.11.4
V0.11.2
Fixed time wheel fluctuations and time wheel execution ahead of schedule.
fix-fluctuation
fix-execution-ahead
V0.11.1
V0.11.0
Version 0.11.0
Changed
-
Optimized the entire delay-timer usage by removing macros for creating asynchronous tasks and now allowing users to use a closure that returns a Future.
-
The default internal runtime currently used by 'Tokio', 'smol' can also be manually enabled by the user.
-
Updated lots of utility cases, lots of documentation, and dependency updates.
-
Fixed a bug where tasks were executed ahead of time.(#33)
Details
Major refactoring of 'task execution'.
# Version 0.10.0
Version 0.10.0
Changed
Optimized the use of internal time-wheel
memory. (#28), thanks elderbig
!
Details
There is a time-wheel
in delay-timer
, which is the carrier of all tasks.
The time wheel uses slots (time scales) as units, each slot corresponds to a hash table, when a slot is rotated to it will execute the task that is already ready internally, when the task is executed it will move from one slot to another. In order to have enough capacity to store the tasks, there may be a memory allocation here, so that by the time the whole time wheel is traversed, each internal time wheel-slot will have rich memory capacity, and when there are many tasks the memory occupied by the whole time wheel will be very large. So it will be necessary to shrink the memory in time.
This change is to shrink the memory in time after each round of training slots and executing tasks to ensure that the slots have a basic and compact capacity.
# Version 0.9.1
v0.9.0 New features
Version 0.9.0
v0.9.0 New features:
1. Add more user-friendly api for better experience!
1.1. Gradually deprecating TaskBuilder api `set_frequency` & `set_frequency_by_candy`.
1.2. Add more user-friendly api such as `set_frequency_once_by_timestamp_seconds` | `set_frequency_count_down_by_days` | `set_frequency_repeated_by_cron_str` these having better experience.
Update dependency :
Update cron_clock .
Update examples:
Change, async-std & tokio & demo & generic & increase use cases.
Enriched Unit tests & documentation.
Version 0.8.2
v0.8.2 New features:
1. Optimization logic: After task removal, the surviving task instance resources can be cancelled normally.
2. FIXED:
When the `TimeoutTask` event fails to remove the handle, Ok(()) is returned by default.
This causes the `TimeoutTask` event to be sent to the outside world by `status_report_sender`,Which is a buggy behavior.
Version 0.8.0
v0.8.0 New features:
1. Optimized the api for custom tokio runtime, better api definition, better experience.
Api changes.
1. Added: `tokio_runtime_by_default` & `tokio_runtime_by_custom` & `tokio_runtime_shared_by_custom` .
2. Private: `tokio_runtime`.
2. Optimized the method of canceling task instances, no error log is recorded when canceling a task failure after timeout.
3. Fix the compile error about `quit_one_task_handler` under nightly version.