2
0
mirror of https://github.com/hibiken/asynq.git synced 2024-12-27 08:12:19 +08:00
asynq/CHANGELOG.md

208 lines
6.0 KiB
Markdown
Raw Normal View History

2020-01-05 05:24:09 +08:00
# Changelog
All notable changes to this project will be documented in this file.
The format is based on ["Keep a Changelog"](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
2020-07-29 13:46:41 +08:00
## [0.11.0] - 2020-07-28
2020-07-29 13:45:22 +08:00
### Added
- `Inspector` type was added to monitor and mutate state of queues and tasks.
- `HealthCheckFunc` and `HealthCheckInterval` fields were added to `Config` to allow user to specify a callback
function to check for broker connection.
2020-07-06 20:53:56 +08:00
## [0.10.0] - 2020-07-06
2020-06-24 20:42:06 +08:00
### Changed
- All tasks now requires timeout or deadline. By default, timeout is set to 30 mins.
- Tasks that exceed its deadline are automatically retried.
2020-07-04 20:24:47 +08:00
- Encoding schema for task message has changed. Please install the latest CLI and run `migrate` command if
you have tasks enqueued with the previous version of asynq.
- API of `(*Client).Enqueue`, `(*Client).EnqueueIn`, and `(*Client).EnqueueAt` has changed to return a `*Result`.
2020-07-04 20:24:47 +08:00
- API of `ErrorHandler` has changed. It now takes context as the first argument and removed `retried`, `maxRetry` from the argument list.
Use `GetRetryCount` and/or `GetMaxRetry` to get the count values.
2020-06-24 20:42:06 +08:00
2020-06-13 21:27:28 +08:00
## [0.9.4] - 2020-06-13
### Fixed
- Fixes issue of same tasks processed by more than one worker (https://github.com/hibiken/asynq/issues/90).
2020-06-12 21:31:42 +08:00
## [0.9.3] - 2020-06-12
### Fixed
- Fixes the JSON number overflow issue (https://github.com/hibiken/asynq/issues/166).
2020-06-08 21:23:02 +08:00
## [0.9.2] - 2020-06-08
2020-06-08 21:15:45 +08:00
### Added
- The `pause` and `unpause` commands were added to the CLI. See README for the CLI for details.
2020-05-29 20:42:40 +08:00
## [0.9.1] - 2020-05-29
### Added
- `GetTaskID`, `GetRetryCount`, and `GetMaxRetry` functions were added to extract task metadata from context.
2020-05-16 23:02:57 +08:00
## [0.9.0] - 2020-05-16
2020-05-10 22:14:05 +08:00
### Changed
- `Logger` interface has changed. Please see the godoc for the new interface.
### Added
- `LogLevel` type is added. Server's log level can be specified through `LogLevel` field in `Config`.
2020-05-08 21:19:48 +08:00
## [0.8.3] - 2020-05-08
### Added
- `Close` method is added to `Client`.
2020-05-04 07:55:34 +08:00
## [0.8.2] - 2020-05-03
2020-05-04 07:47:55 +08:00
### Fixed
- [Fixed cancelfunc leak](https://github.com/hibiken/asynq/pull/145)
2020-04-27 21:49:12 +08:00
## [0.8.1] - 2020-04-27
2020-03-26 22:31:08 +08:00
### Added
- `ParseRedisURI` helper function is added to create a `RedisConnOpt` from a URI string.
2020-04-26 22:48:38 +08:00
- `SetDefaultOptions` method is added to `Client`.
2020-03-26 22:31:08 +08:00
2020-04-20 00:08:20 +08:00
## [0.8.0] - 2020-04-19
2020-04-13 08:16:44 +08:00
### Changed
- `Background` type is renamed to `Server`.
2020-04-19 03:37:24 +08:00
- To upgrade from the previous version, Update `NewBackground` to `NewServer` and pass `Config` by value.
2020-04-13 08:16:44 +08:00
- CLI is renamed to `asynq`.
2020-04-19 03:37:24 +08:00
- To upgrade the CLI to the latest version run `go get -u github.com/hibiken/tools/asynq`
2020-04-13 08:16:44 +08:00
- The `ps` command in CLI is renamed to `servers`
- `Concurrency` defaults to the number of CPUs when unset or set to a negative value.
2020-04-13 08:16:44 +08:00
2020-04-19 03:37:24 +08:00
### Added
- `ShutdownTimeout` field is added to `Config` to speicfy timeout duration used during graceful shutdown.
- New `Server` type exposes `Start`, `Stop`, and `Quiet` as well as `Run`.
2020-04-06 05:56:06 +08:00
## [0.7.1] - 2020-04-05
### Fixed
- Fixed signal handling for windows.
2020-03-23 03:04:37 +08:00
## [0.7.0] - 2020-03-22
### Changed
- Support Go v1.13+, dropped support for go v1.12
### Added
- `Unique` option was added to allow client to enqueue a task only if it's unique within a certain time period.
2020-03-16 12:02:28 +08:00
## [0.6.2] - 2020-03-15
2020-03-14 05:38:45 +08:00
### Added
- `Use` method was added to `ServeMux` to apply middlewares to all handlers.
2020-03-12 23:42:18 +08:00
## [0.6.1] - 2020-03-12
### Added
- `Client` can optionally schedule task with `asynq.Deadline(time)` to specify deadline for task's context. Default is no deadline.
2020-03-12 23:42:18 +08:00
- `Logger` option was added to config, which allows user to specify the logger used by the background instance.
2020-03-02 07:54:59 +08:00
## [0.6.0] - 2020-03-01
2020-03-01 13:34:12 +08:00
### Added
- Added `ServeMux` type to make it easy for users to implement Handler interface.
2020-03-01 13:34:12 +08:00
- `ErrorHandler` type was added. Allow users to specify error handling function (e.g. Report error to error reporting service such as Honeybadger, Bugsnag, etc)
2020-02-24 12:44:03 +08:00
## [0.5.0] - 2020-02-23
### Changed
- `Client` API has changed. Use `Enqueue`, `EnqueueAt` and `EnqueueIn` to enqueue and schedule tasks.
2020-02-23 13:06:02 +08:00
### Added
- `asynqmon workers` was added to list all running workers information
2020-02-13 22:25:27 +08:00
## [0.4.0] - 2020-02-13
2020-02-13 10:11:59 +08:00
### Changed
- `Handler` interface has changed. `ProcessTask` method takes two arguments `context.Context` and `*asynq.Task`
2020-02-13 22:17:47 +08:00
- `Queues` field in `Config` has change from `map[string]uint` to `map[string]int`
2020-02-13 10:11:59 +08:00
### Added
- `Client` can optionally schedule task with `asynq.Timeout(duration)` to specify timeout duration for task. Default is no timeout.
- `asynqmon cancel [task id]` will send a cancelation signal to the goroutine processing the speicified task.
2020-02-04 22:29:57 +08:00
## [0.3.0] - 2020-02-04
2020-02-03 12:59:00 +08:00
### Added
- `asynqmon ps` was added to list all background worker processes
2020-01-27 08:07:44 +08:00
## [0.2.2] - 2020-01-26
### Fixed
- Fixed restoring unfinished tasks back to correct queues.
### Changed
- `asynqmon ls` command is now paginated (default 30 tasks from first page)
- `asynqmon ls enqueued:[queue name]` requires queue name to be specified
2020-01-22 22:45:16 +08:00
## [0.2.1] - 2020-01-22
### Fixed
- More structured log messages
- Prevent spamming logs with a bunch of errors when Redis connection is lost
- Fixed and updated README doc
2020-01-20 07:28:24 +08:00
## [0.2.0] - 2020-01-19
### Added
- NewTask constructor
2020-01-08 13:53:38 +08:00
- `Queues` option in `Config` to specify mutiple queues with priority level
- `Client` can schedule a task with `asynq.Queue(name)` to specify which queue to use
2020-01-12 23:46:51 +08:00
- `StrictPriority` option in `Config` to specify whether the priority should be followed strictly
2020-01-17 12:54:36 +08:00
- `RedisConnOpt` to abstract away redis client implementation
2020-01-14 22:05:21 +08:00
- [CLI] `asynqmon rmq` command to remove queue
### Changed
2020-01-17 12:54:36 +08:00
- `Client` and `Background` constructors take `RedisConnOpt` as their first argument.
2020-01-20 07:28:24 +08:00
- `asynqmon stats` now shows the total of all enqueued tasks under "Enqueued"
- `asynqmon stats` now shows each queue's task count
- `asynqmon history` now doesn't take any arguments and shows data from the last 10 days by default (use `--days` flag to change the number of days)
- Task type is now immutable (i.e., Payload is read-only)
2020-01-05 05:24:09 +08:00
## [0.1.0] - 2020-01-04
### Added
- Initial version of asynq package
- Initial version of asynqmon CLI