Ken Hibino
562506c7ba
Fix client to return error when nil task is passed
2022-04-11 16:55:43 -07:00
Ken Hibino
d7169cd445
Update heartbeat to extend lease of active workers
2022-02-19 06:15:44 -08:00
Ken Hibino
871474f220
Update heartbeat goroutine to call ExtendLease on active tasks
2022-02-19 06:15:44 -08:00
Ken Hibino
dabcb120d5
Update recoverer to use ListLeaseExpired
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
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
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
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
00a25ca570
Rename DeadTask to ArchivedTask and action "kill" to "archive"
2021-01-14 06:43:44 -08:00
Ken Hibino
aa2676bb57
Update Broker interface
2020-09-12 12:59:03 -07:00
Ken Hibino
a913e6d73f
Add healthchecker to check broker connection
2020-07-28 22:45:57 -07:00
Ken Hibino
199bf4d66a
Minor code cleanup
2020-07-06 05:48:31 -07:00
Ken Hibino
feee87adda
Add recoverer
2020-07-06 05:48:31 -07:00
Ken Hibino
4e8ac151ae
Update processor to adapt for deadlines set change
...
- Processor dequeues tasks only when it's available to process
- Processor retries a task when its context's Done channel is closed
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
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
a38f628f3b
Refactor server state management
2020-05-31 06:41:19 -07:00
Ken Hibino
7c7f8e5f30
Move Broker interface to base package
2020-04-19 08:51:17 -07:00
Ken Hibino
46ab4417dd
Add test to simulate situation where redis is down
2020-04-19 08:51:17 -07:00