Ken Hibino
7e5efb0e30
Drop GT option from RDB.ExtendLease
...
GT option in ZAdd is supported for redis v6.2.0 or above.
This Change fixes redis version compatibility (currently v4.0+)
2022-02-20 06:20:38 -08:00
Ken Hibino
59927509d8
Remove timeout and deadline fields under task key
2022-02-19 06:15:44 -08:00
Ken Hibino
dfae8638e1
Update RDB methods to work with lease
2022-02-19 06:15:44 -08:00
Ken Hibino
87dc392c7f
Add RDB.ExtendLease method
2022-02-19 06:15:44 -08:00
Ken Hibino
bc2f1986d7
Update ListDeadlineExceeded to ListLeaseExpired
2022-02-19 06:15:44 -08:00
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
1ddb2f7bce
Use math.MaxInt64 instead of custom const
2021-12-19 06:58:12 -08:00
Ken Hibino
82d18e3d91
Record total tasks processed/failed
2021-12-16 16:53:02 -08:00
Ken Hibino
157e97e72e
Update changelog
2021-12-11 10:29:43 -08:00
Ken Hibino
22e6c9d297
Delete "pending_since" under task-key when state changes to active
2021-12-11 10:29:43 -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
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
99c7ebeef2
Add migration command in CLI
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
87264b66f3
Record last_failed_at time on Retry or Archive event
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
a500f8a534
Reorganize test for RDB.ArchiveTask
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
4d65024bd7
Update rdb.ArchiveTask with more specific error types
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
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
6529a1e0b1
Fix scheduler
...
* Delete scheduler history data when scheduler stops
* Fix history trimming bug
2021-01-31 06:09:40 -08:00
Ken Hibino
00a25ca570
Rename DeadTask to ArchivedTask and action "kill" to "archive"
2021-01-14 06:43:44 -08: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
a891ce5568
Rename InProgress to Active
2020-09-12 12:59:03 -07:00
Ken Hibino
ee1afd12f5
Fix done lua script
...
If UniqueKey is an empty string, do not provide the key to Lua script
because that will cause CROSSSLOT error in redis cluster (since it
doesn't have any hash tag).
2020-09-12 12:59:03 -07:00
Ken Hibino
3ac548e97c
Fix dequeue Lua script to use a single hash tag
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
4b81b91d3e
Minor fix
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