mirror of
https://github.com/hibiken/asynq.git
synced 2024-12-26 07:42:17 +08:00
5.1 KiB
5.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on "Keep a Changelog", and this project adheres to Semantic Versioning.
[Unreleased]
[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).
[0.9.3] - 2020-06-12
Fixed
- Fixes the JSON number overflow issue (https://github.com/hibiken/asynq/issues/166).
[0.9.2] - 2020-06-08
Added
- The
pause
andunpause
commands were added to the CLI. See README for the CLI for details.
[0.9.1] - 2020-05-29
Added
GetTaskID
,GetRetryCount
, andGetMaxRetry
functions were added to extract task metadata from context.
[0.9.0] - 2020-05-16
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 throughLogLevel
field inConfig
.
[0.8.3] - 2020-05-08
Added
Close
method is added toClient
.
[0.8.2] - 2020-05-03
Fixed
[0.8.1] - 2020-04-27
Added
ParseRedisURI
helper function is added to create aRedisConnOpt
from a URI string.SetDefaultOptions
method is added toClient
.
[0.8.0] - 2020-04-19
Changed
Background
type is renamed toServer
.- To upgrade from the previous version, Update
NewBackground
toNewServer
and passConfig
by value. - CLI is renamed to
asynq
. - To upgrade the CLI to the latest version run
go get -u github.com/hibiken/tools/asynq
- The
ps
command in CLI is renamed toservers
Concurrency
defaults to the number of CPUs when unset or set to a negative value.
Added
ShutdownTimeout
field is added toConfig
to speicfy timeout duration used during graceful shutdown.- New
Server
type exposesStart
,Stop
, andQuiet
as well asRun
.
[0.7.1] - 2020-04-05
Fixed
- Fixed signal handling for windows.
[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.
[0.6.2] - 2020-03-15
Added
Use
method was added toServeMux
to apply middlewares to all handlers.
[0.6.1] - 2020-03-12
Added
Client
can optionally schedule task withasynq.Deadline(time)
to specify deadline for task's context. Default is no deadline.Logger
option was added to config, which allows user to specify the logger used by the background instance.
[0.6.0] - 2020-03-01
Added
- Added
ServeMux
type to make it easy for users to implement Handler interface. ErrorHandler
type was added. Allow users to specify error handling function (e.g. Report error to error reporting service such as Honeybadger, Bugsnag, etc)
[0.5.0] - 2020-02-23
Changed
Client
API has changed. UseEnqueue
,EnqueueAt
andEnqueueIn
to enqueue and schedule tasks.
Added
asynqmon workers
was added to list all running workers information
[0.4.0] - 2020-02-13
Changed
Handler
interface has changed.ProcessTask
method takes two argumentscontext.Context
and*asynq.Task
Queues
field inConfig
has change frommap[string]uint
tomap[string]int
Added
Client
can optionally schedule task withasynq.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.
[0.3.0] - 2020-02-04
Added
asynqmon ps
was added to list all background worker processes
[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
[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
[0.2.0] - 2020-01-19
Added
- NewTask constructor
Queues
option inConfig
to specify mutiple queues with priority levelClient
can schedule a task withasynq.Queue(name)
to specify which queue to useStrictPriority
option inConfig
to specify whether the priority should be followed strictlyRedisConnOpt
to abstract away redis client implementation- [CLI]
asynqmon rmq
command to remove queue
Changed
Client
andBackground
constructors takeRedisConnOpt
as their first argument.asynqmon stats
now shows the total of all enqueued tasks under "Enqueued"asynqmon stats
now shows each queue's task countasynqmon 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)
[0.1.0] - 2020-01-04
Added
- Initial version of asynq package
- Initial version of asynqmon CLI