Ken Hibino
3557ce780d
(fix): Clear unique lock when task is deleted via Inspector
2021-06-09 06:06:43 -07:00
Ken Hibino
04ad1ddbc3
Fix recoverer test
2021-06-07 16:19:14 -07:00
Ken Hibino
704fc5753b
Record last_failed_at time on Retry or Archive event
2021-06-07 16:19:14 -07:00
Ken Hibino
5e89a2c2e8
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-07 16:16:26 -07:00
Ken Hibino
f0964038c0
Update RDB.Dequeue with new errors package
2021-06-07 16:13:59 -07:00
Ken Hibino
5a661fcf05
Minor fixes
2021-06-07 16:13:59 -07:00
Ken Hibino
7948cb5dbf
Update RDB.EnqueueUnique and RDB.ScheduleUnique with specific errors
2021-06-07 16:13:59 -07:00
Ken Hibino
df4e5c8d45
Update RDB.ScheduleUnique with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
eb40c8a2b4
Update RDB.Schedule with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
691bc7db81
Update RDB.EnqueueUnique with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
bf512f4ec2
Update RDB.Enqueue with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
d6e7e0df05
Change Server API
...
* Rename ServerStatus to ServerState internally
* Rename terminate to shutdown internally
* Update Scheduler API to match Server API
2021-06-07 16:13:58 -07:00
Ken Hibino
585e7fdd53
Change payload to byte slice
2021-06-07 16:13:58 -07:00
Ken Hibino
5f61566284
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-07 16:13:55 -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
Ken Hibino
feee87adda
Add recoverer
2020-07-06 05:48:31 -07:00
Ken Hibino
7657f560ec
Add RDB.ListDeadlineExceeded
2020-07-06 05:48:31 -07:00
Ken Hibino
08b71672aa
Update RDB.Requeue to remove message from deadlines set
2020-07-06 05:48:31 -07:00
Ken Hibino
92af00f9fd
Update RDB.Dequeue to return deadline as time.Time
2020-07-06 05:48:31 -07:00
Ken Hibino
113451ce6a
Update RDB.Kill to remove message from deadlines set
2020-07-06 05:48:31 -07:00
Ken Hibino
9cd9f3d6b4
Update RDB.Retry to remove message from deadlines set
2020-07-06 05:48:31 -07:00
Ken Hibino
7b9119c703
Update RDB.Done to remove message from deadlines set
2020-07-06 05:48:31 -07:00
Ken Hibino
9b05dea394
Update RDB.Dequeue to return message and deadline
2020-07-06 05:48:31 -07:00
Ken Hibino
6cc5bafaba
Add task message to deadlines set on dequeue
...
Updated dequeueCmd to decode the message and compute its deadline and add
the message to the Deadline set.
2020-07-06 05:48:31 -07:00
Ken Hibino
7f30fa2bb6
Fix requeue logic in processor
2020-06-13 06:22:32 -07:00
Ken Hibino
06c4a1c7f8
Limit the number of tasks moved by CheckAndEnqueue to prevent a long
...
running script
2020-06-08 06:06:18 -07:00
Ken Hibino
363cfedb49
Update Dequeue operation to skip paused queues
2020-06-08 06:06:18 -07:00
Ken Hibino
a38f628f3b
Refactor server state management
2020-05-31 06:41:19 -07:00
Ken Hibino
aafd8a5b74
Rename internal ProcessState to ServerState
2020-04-19 08:51:17 -07:00
Ken Hibino
c33dd447ac
Allow client to enqueue a task with unique option
...
Changes:
- Added Unique option for clients
- Require go v.13 or above (to use new errors wrapping functions)
- Fixed adding queue key to all-queues set (asynq:queues) when scheduling.
2020-03-21 11:40:40 -07:00