Ken Hibino
b8cb579407
Update RDB methods to use lease instead of deadlines set
2022-02-19 06:15:44 -08:00
Ken Hibino
d865d89900
Update RDB.Dequeue to insert task ID to lease set
2022-02-19 06:15:44 -08:00
Ken Hibino
aa26f3819e
Fix flaky tests
2022-01-05 09:07:42 -08:00
Ken Hibino
8dfabfccb3
Fix build
2021-12-19 07:06:37 -08:00
Ken Hibino
82d18e3d91
Record total tasks processed/failed
2021-12-16 16:53:02 -08:00
Ken Hibino
99a6750656
Add Latency field to QueueInfo
2021-12-11 10:29:43 -08:00
Ken Hibino
e7c1c3ad6f
Use clock in RDB
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
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
Jason White
b3ef9e91a9
Upgrade go-redis/redis to version 8
2021-09-02 05:56:02 -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
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
87264b66f3
Record last_failed_at time on Retry or Archive event
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
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
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
f618f5b1f5
Add benchmark tests for rdb package
2021-03-07 16:27:14 -08:00
Ken Hibino
00a25ca570
Rename DeadTask to ArchivedTask and action "kill" to "archive"
2021-01-14 06:43:44 -08:00
Ken Hibino
69d7ec725a
Close redis client after each test run
2020-09-12 12:59:03 -07:00
Ken Hibino
a891ce5568
Rename InProgress to Active
2020-09-12 12:59:03 -07:00
Ken Hibino
c8c47fcbf0
Rename Enqueued to Pending
2020-09-12 12:59:03 -07:00
Ken Hibino
8076b5ae50
Use different redis db number for rdb package tests
2020-09-12 12:59:03 -07:00
Ken Hibino
6b96459881
Add test flags to run tests using redis cluster
2020-09-12 12:59:03 -07:00
Ken Hibino
47e9ba4eba
Update enqueue methods in RDB
2020-09-12 12:59:03 -07:00
Ken Hibino
becd26479b
Update WriteServerState and ClearServerState in RDB
2020-09-12 12:59:03 -07:00
Ken Hibino
a873d488ee
Update ListDeadlineExceeded in RDB
2020-09-12 12:59:03 -07:00
Ken Hibino
650d7fdbe9
Update CheckAndEnqueue method in RDB
2020-09-12 12:59:03 -07:00
Ken Hibino
f6d504939e
Update Requeue method in RDB
2020-09-12 12:59:03 -07:00
Ken Hibino
74f08795f8
Update Kill method in RDB
2020-09-12 12:59:03 -07:00
Ken Hibino
35b2b1782e
Update Retry method in RDB
2020-09-12 12:59:03 -07:00
Ken Hibino
f63dcce0c0
Update Done method in RDB
2020-09-12 12:59:03 -07:00
Ken Hibino
565f86ee4f
Update Dequeue command in rdb
2020-09-12 12:59:03 -07:00
Ken Hibino
94aa878060
Update Enqueue and Schedule commands in rdb
2020-09-12 12:59:03 -07:00
Ken Hibino
a28f61f313
Add Inspector type
2020-07-28 22:45:57 -07:00
Ken Hibino
8b60e6a268
Replace github.com/rs/xid with github.com/google/uuid
2020-07-06 05:48:31 -07:00
Ken Hibino
199bf4d66a
Minor code cleanup
2020-07-06 05:48:31 -07:00
Ken Hibino
7e942ec241
Use int64 type for Timeout and Deadline in TaskMessage
2020-07-06 05:48:31 -07:00