Ken Hibino
e7c1c3ad6f
Use clock in RDB
2021-12-11 10:29:43 -08:00
Ken Hibino
c9183374c5
Add internal timeutil package
2021-12-11 10:29:43 -08:00
Ken Hibino
6e7106c8f2
Record time when task moved to pending state
2021-12-11 10:29:43 -08:00
Ken Hibino
9f2c321e98
Add EnqueueContext method to Client
2021-11-15 16:34:26 -08:00
Ken Hibino
413afc2ab6
v0.19.0
2021-11-06 15:20:09 -07:00
Ken Hibino
f4ddac4dcc
Introduce Task Results
...
* Added Retention Option to specify retention TTL for tasks
* Added ResultWriter as a client interface to write result data for the associated task
2021-11-06 15:18:42 -07:00
Ken Hibino
4638405cbd
Fix flaky test
2021-11-06 15:18:42 -07:00
Ken Hibino
dbdd9c6d5f
Update RDB Enqueue and Schedule methods to check for task ID conflict
2021-11-06 15:18:42 -07:00
Ken Hibino
2261c7c9a0
Change TaskMessage.ID type from uuid.UUID to string
2021-11-06 15:18:42 -07:00
Ajat Prabha
23c522dc9f
Add asynq/x/rate package
...
- Added a directory /x for external, experimental packeges
- Added a `rate` package to enable rate limiting across multiple asynq worker servers
2021-11-03 15:55:23 -07:00
Ken Hibino
d612a8a9e4
v0.18.6
2021-10-03 05:55:49 -07:00
Jason White
b3ef9e91a9
Upgrade go-redis/redis to version 8
2021-09-02 05:56:02 -07:00
Ken Hibino
05534c6f24
v0.18.5
2021-09-01 06:02:49 -07:00
Ken Hibino
f0db219f6a
Add IsFailure to Config
...
With this IsFailure config, users can provide a predicate function to
determine whether the error returned from Handler counts as a failure.
2021-09-01 06:00:54 -07:00
Ken Hibino
421dc584ff
v0.18.4
2021-08-17 17:12:33 -07:00
Ken Hibino
c197902dc0
v0.18.3
2021-08-09 08:59:35 -07:00
Ken Hibino
e6355bf3f5
Use approximate memory usage for QueueInfo
2021-08-09 08:58:44 -07:00
Ken Hibino
684a7e0c98
v0.18.2
2021-07-15 06:56:53 -07:00
Ken Hibino
46b23d6495
Allow upper case characters in queue name
2021-07-15 06:55:47 -07:00
Ken Hibino
c0ae62499f
v0.18.1
2021-07-04 06:39:54 -07:00
Ken Hibino
d02b722d8a
v0.18.0
2021-06-29 16:36:52 -07:00
Ken Hibino
99c7ebeef2
Add migration command in CLI
2021-06-29 16:34:21 -07:00
Ken Hibino
e01c6379c8
Fix lua script for redis-cluster mode
2021-06-29 16:34:21 -07:00
Ken Hibino
a0df047f71
Use md5 to generate checksum for unique key
2021-06-29 16:34:21 -07:00
Ken Hibino
68dd6d9a9d
(fix): Clear unique lock when task is deleted via Inspector
2021-06-29 16:34:21 -07:00
Ken Hibino
6cce31a134
Fix recoverer test
2021-06-29 16:34:21 -07:00
Ken Hibino
68839dc9d3
Fix lua scripts for redis cluster
2021-06-29 16:34:21 -07:00
Ken Hibino
8922d2423a
Define RDB.GetTaskInfo
2021-06-29 16:34:21 -07:00
Ken Hibino
87264b66f3
Record last_failed_at time on Retry or Archive event
2021-06-29 16:34:21 -07:00
Ken Hibino
62168b8d0d
Add LastFailedAt field to TaskMessage
2021-06-29 16:34:21 -07:00
Ken Hibino
456edb6b71
Replace RunTaskByKey with RunTask in Inspector
2021-06-29 16:34:21 -07:00
Ken Hibino
b9c2572203
Refactor redis keys and store messages in protobuf
...
Changes:
- Task messages are stored under "asynq:{<qname>}:t:<task_id>" key in redis, value is a HASH type and message are stored under "msg" key in the hash. The hash also stores "deadline", "timeout".
- Redis LIST and ZSET stores task message IDs
- Task messages are serialized using protocol buffer
2021-06-29 16:34:21 -07:00
Ken Hibino
0bf767cf21
Add TaskState type to base package
2021-06-29 16:34:21 -07:00
Ken Hibino
4af65d5fa5
Update RDB methods with new errors package
2021-06-29 16:34:21 -07:00
Ken Hibino
a19ad19382
Update RDB.Dequeue with new errors package
2021-06-29 16:34:21 -07:00
Ken Hibino
8117ce8972
Minor fixes
2021-06-29 16:34:21 -07:00
Ken Hibino
d98ecdebb4
Update RDB.EnqueueUnique and RDB.ScheduleUnique with specific errors
2021-06-29 16:34:21 -07:00
Ken Hibino
ffe9aa74b3
Add errors.RedisCommandError type
2021-06-29 16:34:21 -07:00
Ken Hibino
d2d4029aba
Update RDB.CurrentStats and RDB.HistoricalStats with specific errors
2021-06-29 16:34:21 -07:00
Ken Hibino
76bd865ebc
Update RDB.RemoveQueue with specific error types
2021-06-29 16:34:21 -07:00
Ken Hibino
136d1c9ea9
Update rdb.List* methods with specific errors
2021-06-29 16:34:21 -07:00
Ken Hibino
52e04355d3
Return QueueNotFoundError from DeleteAll* methods
2021-06-29 16:34:21 -07:00
Ken Hibino
cde3e57c6c
Update RDB.RunAll* methods with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
dd66acef1b
Return QueueNotFoundError from ArchiveAll* methods
2021-06-29 16:34:21 -07:00
Ken Hibino
30a3d9641a
Update tests for RDB.DeleteTask and RDB.ArchiveTask
2021-06-29 16:34:21 -07:00
Ken Hibino
961582cba6
Update RDB.RunTask with more specific errors
2021-06-29 16:34:21 -07:00
Ken Hibino
430dbb298e
Update RDB.DeleteTask with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
675826be5f
Update RDB.ArchiveAll methods with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
62f4e46b73
Update RDB.ArchiveAllPendingTasks with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
a500f8a534
Reorganize test for RDB.ArchiveTask
2021-06-29 16:34:21 -07:00
Ken Hibino
bcfeff38ed
Update errors package with detailed comments
2021-06-29 16:34:21 -07:00
Ken Hibino
12a90f6a8d
Update RDB.ArchiveTask with custom errors
2021-06-29 16:34:21 -07:00
Ken Hibino
807624e7dd
Create internal errors package
2021-06-29 16:34:21 -07:00
Ken Hibino
4d65024bd7
Update rdb.ArchiveTask with more specific error types
2021-06-29 16:34:21 -07:00
Ken Hibino
76486b5cb4
Rename error types
2021-06-29 16:34:21 -07:00
Ken Hibino
1db516c53c
Add a list of canonical errors in base package
2021-06-29 16:34:21 -07:00
Ken Hibino
cb5bdf245c
Update RDB.ArchiveTask with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
267493ccef
Update RDB.RunTask with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
5d7f1b6a80
Update RDB.Requeue with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
77ded502ab
Update RDB.Retry, RDB.Archive with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
f2284be43d
Update RDB.Dequeue with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
3cadab55cb
Update RDB.ForwardIfReady with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
298a420f9f
Update RDB.ScheduleUnique with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
b1d717c842
Update RDB.Schedule with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
56e5762eea
Update RDB.EnqueueUnique with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
5ec41e388b
Update RDB.Enqueue with task state
2021-06-29 16:34:21 -07:00
Ken Hibino
9c95c41651
Change Server API
...
* Rename ServerStatus to ServerState internally
* Rename terminate to shutdown internally
* Update Scheduler API to match Server API
2021-06-29 16:34:21 -07:00
Ken Hibino
476812475e
Change payload to byte slice
2021-06-29 16:34:21 -07:00
Ken Hibino
7af3981929
Refactor redis keys and store messages in protobuf
...
Changes:
- Task messages are stored under "asynq:{<qname>}:t:<task_id>" key in redis, value is a HASH type and message are stored under "msg" key in the hash. The hash also stores "deadline", "timeout".
- Redis LIST and ZSET stores task message IDs
- Task messages are serialized using protocol buffer
2021-06-29 16:34:21 -07:00
Ken Hibino
2516c4baba
v0.17.2
2021-06-06 06:51:30 -07:00
Ken Hibino
ebe482a65c
Free uniqueness lock when task is deleted
2021-06-06 06:48:59 -07:00
Ken Hibino
32d3f329b9
v0.17.1
2021-04-04 12:51:00 -07:00
Ken Hibino
544c301a8b
Fix bug in RDB.memoryUsage
2021-04-04 12:49:19 -07:00
Ken Hibino
8b997d2fab
v0.17.0
2021-03-24 16:51:59 -07:00
Ken Hibino
aaa3f1d4fd
v0.16.1
2021-03-20 06:27:03 -07:00
disc
4722ca2d3d
Replaced blocking KEYS XXX:*
command to non-blocking SCAN XXX:*
...
More details: https://redis.io/commands/KEYS
2021-03-20 06:24:08 -07:00
Ken Hibino
6a9d9fd717
v0.16.0
2021-03-10 20:39:46 -08:00
Ken Hibino
f618f5b1f5
Add benchmark tests for rdb package
2021-03-07 16:27:14 -08:00
Ken Hibino
bc77f6fe14
v0.15.0
2021-01-31 06:11:17 -08:00
Ken Hibino
e13122723a
Move all inspector related code to subpackage inspeq
2021-01-31 06:09:40 -08:00
Ken Hibino
eba7c4e085
Record deadline within WorkerInfo
2021-01-31 06:09:40 -08:00
Ken Hibino
afde6a7266
Add MemoryUsage field to QueueStats
2021-01-31 06:09:40 -08:00
Ken Hibino
6529a1e0b1
Fix scheduler
...
* Delete scheduler history data when scheduler stops
* Fix history trimming bug
2021-01-31 06:09:40 -08:00
Ken Hibino
c9a6ab8ae1
Support delete and archive actions on PendingTask
...
* Add `DeleteAllPendingTasks`, `ArchiveAllPendingTasks` to `Inspector`
* `DeleteTaskByKey` and `ArchiveTaskByKey` now supports deleting/archiving PendingTask
* Updated `asynq task` command with support for deleting/archiving pending tasks
2021-01-31 06:09:40 -08:00
Ken Hibino
2884044e75
v0.14.1
2021-01-19 06:22:54 -08:00
Ken Hibino
42c7ac0746
v0.14.0
2021-01-14 06:49:36 -08:00
Ken Hibino
00a25ca570
Rename DeadTask to ArchivedTask and action "kill" to "archive"
2021-01-14 06:43:44 -08:00
Ken Hibino
c5100a9c23
Add a method to list running servers to Inspector
2021-01-14 06:43:44 -08:00
Ken Hibino
196d66f221
Fix ListSchedulerEnqueueEvents to list recent events first
2021-01-14 06:43:44 -08:00
Ken Hibino
f4dd8fe962
Add ListScheduelerEnqueueEvents to Inspector
2021-01-14 06:43:44 -08:00
Ken Hibino
f9c0673116
Add SchedulerEntries method to Inspector
2021-01-14 06:43:44 -08:00
Ken Hibino
e9239260ae
Add DeleteQueue method to Inspector
...
- Added ErrQueueNotFound and ErrQueueNotEmpty type to indicate the kind
of an error returned from the method.
2021-01-14 06:43:44 -08:00
MinJae Kwon
c4dc993241
fix: resolve go vet lint
2020-12-20 06:09:51 -08:00
Ken Hibino
942345ee80
v0.13.0
2020-10-13 06:33:47 -07:00
Ken Hibino
96b2318300
Add EnqueueErrorHandler option to SchedulerOpts
2020-10-13 06:31:47 -07:00
Ken Hibino
8312515e64
Update Option interface
...
- Added `String()`, `Type()`, and `Value()` methods to the interface to
aid with debugging and error handling.
2020-10-13 06:31:47 -07:00
Ken Hibino
50e7f38365
Add Scheduler
...
- Renamed previously called scheduler to forwarder to resolve name
conflicts
2020-10-13 06:31:47 -07:00
Ken Hibino
c43fb21a0a
Minor test updates
2020-09-12 12:59:03 -07:00
Ken Hibino
69d7ec725a
Close redis client after each test run
2020-09-12 12:59:03 -07:00
Ken Hibino
c26b7469bd
Display cluster info in stats command when --cluster flag is passed
2020-09-12 12:59:03 -07:00