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
252af60672
Update RDB methods with new errors package
2021-06-07 16:13:59 -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
59ba0525a0
Add errors.RedisCommandError type
2021-06-07 16:13:59 -07:00
Ken Hibino
6ccb0ab5c4
Update RDB.CurrentStats and RDB.HistoricalStats with specific errors
2021-06-07 16:13:59 -07:00
Ken Hibino
3db8eff01b
Update RDB.RemoveQueue with specific error types
2021-06-07 16:13:59 -07:00
Ken Hibino
95a6942b4e
Update rdb.List* methods with specific errors
2021-06-07 16:13:59 -07:00
Ken Hibino
ba30b8b940
Return QueueNotFoundError from DeleteAll* methods
2021-06-07 16:13:59 -07:00
Ken Hibino
bfd7dd57d2
Update RDB.RunAll* methods with task state
2021-06-07 16:13:59 -07:00
Ken Hibino
2a30fcb6ea
Return QueueNotFoundError from ArchiveAll* methods
2021-06-07 16:13:59 -07:00
Ken Hibino
b440702039
Update tests for RDB.DeleteTask and RDB.ArchiveTask
2021-06-07 16:13:59 -07:00
Ken Hibino
b6aa10e4ff
Update RDB.RunTask with more specific errors
2021-06-07 16:13:59 -07:00
Ken Hibino
213f5326e1
Update RDB.DeleteTask with task state
2021-06-07 16:13:59 -07:00
Ken Hibino
020c09ce18
Update RDB.ArchiveAll methods with task state
2021-06-07 16:13:59 -07:00
Ken Hibino
cf98807307
Update RDB.ArchiveAllPendingTasks with task state
2021-06-07 16:13:59 -07:00
Ken Hibino
b0b1ece480
Reorganize test for RDB.ArchiveTask
2021-06-07 16:13:59 -07:00
Ken Hibino
25173cd505
Update RDB.ArchiveTask with custom errors
2021-06-07 16:13:59 -07:00
Ken Hibino
3fbf3dab76
Update rdb.ArchiveTask with more specific error types
2021-06-07 16:13:59 -07:00
Ken Hibino
4d2ff9e375
Rename error types
2021-06-07 16:13:58 -07:00
Ken Hibino
2a509ecd4f
Update RDB.ArchiveTask with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
69aa071632
Update RDB.RunTask with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
4f7f7e91de
Update RDB.Requeue with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
08e6dc08d5
Update RDB.Retry, RDB.Archive with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
a5a28a0a40
Update RDB.Dequeue with task state
2021-06-07 16:13:58 -07:00
Ken Hibino
a647cd7225
Update RDB.ForwardIfReady with task state
2021-06-07 16:13:58 -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
ebe482a65c
Free uniqueness lock when task is deleted
2021-06-06 06:48:59 -07:00
Ken Hibino
544c301a8b
Fix bug in RDB.memoryUsage
2021-04-04 12:49:19 -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
f618f5b1f5
Add benchmark tests for rdb package
2021-03-07 16:27:14 -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
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
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
96b2318300
Add EnqueueErrorHandler option to SchedulerOpts
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