2
0
mirror of https://github.com/hibiken/asynq.git synced 2024-09-20 11:05:58 +08:00
Commit Graph

311 Commits

Author SHA1 Message Date
Ken Hibino
6df302689c
Merge pull request #18 from hibiken/feature/payload
Better Payload API
2019-12-20 20:21:54 -08:00
Ken Hibino
324a785233 Add Hash method to Payload 2019-12-20 20:14:40 -08:00
Ken Hibino
14ac5f6674 Add Get* methods to Payload type 2019-12-20 16:01:32 -08:00
Ken Hibino
3fd096a90a [ci skip] Update todos 2019-12-18 21:18:13 -08:00
Ken Hibino
bc7991c757
Merge pull request #17 from hibiken/feature/stop
Implement better signal handling
2019-12-18 20:43:40 -08:00
Ken Hibino
8b98b6e5a0 Rename channel name 2019-12-18 18:57:48 -08:00
Ken Hibino
33e9da953d Log warning and info messages when unfinished tasks get aborted 2019-12-18 18:55:08 -08:00
Ken Hibino
b2bc0ef91c [ci skip] Update todos 2019-12-17 20:37:54 -08:00
Ken Hibino
69b46a7f0d Use sync.Once 2019-12-17 20:34:56 -08:00
Ken Hibino
c40e779fdb Modify poller to wait for Time.After channel instead of time.Sleep 2019-12-17 20:13:41 -08:00
Ken Hibino
5ddba8ca98 Unblock processor shutdown process if processor is waiting for semaphore
token
2019-12-17 20:07:17 -08:00
Ken Hibino
24dd78b31c Stop processing more tasks from the queue once TSTP signal is received 2019-12-17 06:18:22 -08:00
Ken Hibino
3e30c5916b Trap and handle TSTP signal 2019-12-17 05:32:31 -08:00
Ken Hibino
911e600c41 Terminate background upon receiving SIGTERM or SIGINT 2019-12-16 20:19:58 -08:00
Ken Hibino
12fc336889
Merge pull request #16 from hibiken/feature/signals
Add timeout to shutdown when TERM signal is received
2019-12-16 06:54:06 -08:00
Ken Hibino
bcaccf1174 [ci skip] Update todos 2019-12-16 06:41:15 -08:00
Ken Hibino
eb3216d354 Fix: Use buffered channel of size 1 to avoid goroutine leaks 2019-12-16 06:40:52 -08:00
Ken Hibino
989b2b6d55 Add timeout to worker goroutines when TERM signal is received
Wait for a certain amount of time to allow for worker goroutines to
finish. If the goroutines don't finish with the timeout duration,
processor will quit the goroutines and restore any unfinished tasks from
the in_progress queue back to the default queue.
2019-12-15 21:00:09 -08:00
Ken Hibino
e5686894d3 Fix: Do not use lua cjson library to encode task to json
Go and Lua json libraries encodes json differently (e.g. order of
key/value) and caused a bug when removing tasks that was previously
encoded by Lua json library and redis was receiving a string generated
by Go json library.
2019-12-15 20:05:56 -08:00
Ken Hibino
442b33a6d2 Remove (*RDB).RetryLater in favor of Retry method 2019-12-15 17:18:43 -08:00
Ken Hibino
d84e8c0ff2 Modify (*RDB).Kill method to atomically move task from in_progress to
dead queue
2019-12-15 17:16:13 -08:00
Ken Hibino
1b1662bb12 Add Retry method to *RDB
(*RDB).Retry method takes a TaskMessage and will atomically moves the
message from in_progress queue to retry queue. Additionally it
increments the Retried counter and assigns the error message to the
message.
2019-12-15 16:15:07 -08:00
Ken Hibino
1857d12cea
Merge pull request #15 from hibiken/refactor/testing
Refactor tests
2019-12-14 13:58:33 -08:00
Ken Hibino
04836194f9 Clean up rdb package tests 2019-12-14 13:43:06 -08:00
Ken Hibino
9410a65338 Rename randomTask test helper to newTaskMessage 2019-12-12 19:45:03 -08:00
Ken Hibino
d2eeaf6ab1 [ci skip] Update todos 2019-12-12 19:05:25 -08:00
Ken Hibino
0620f2f0f7
Merge pull request #14 from hibiken/feature/delall
Add delall command to asynqmon CLI
2019-12-12 19:03:17 -08:00
Ken Hibino
b7870548d3 Add delall command to asynqmon CLI 2019-12-12 07:02:14 -08:00
Ken Hibino
ca31cbf843 Add DeleteAll* methods to rdb 2019-12-12 06:43:42 -08:00
Ken Hibino
9d79861ac0
Merge pull request #13 from hibiken/feature/del
Add del command to asynqmon CLI
2019-12-11 21:14:02 -08:00
Ken Hibino
1a687bbf84 Add del command to asynqmon CLI 2019-12-11 21:03:47 -08:00
Ken Hibino
be746d01a5 Add delete methods to rdb 2019-12-11 20:15:30 -08:00
Ken Hibino
193d27d93d
Merge pull request #12 from hibiken/feature/shorter_id
Use rs/xid package for more compact string representation of task IDs
2019-12-11 07:49:59 -08:00
Ken Hibino
edcd70b221 Replace google/uuid package with rs/xid for more compact id 2019-12-11 07:41:38 -08:00
Ken Hibino
8b6e3172ce [ci skip] Update todos 2019-12-11 07:13:04 -08:00
Ken Hibino
542b7867d8
Merge pull request #11 from hibiken/feature/enqall
Add enqall command to asynqmon CLI
2019-12-10 22:01:54 -08:00
Ken Hibino
ef562e2efa Minor improvement 2019-12-10 21:48:19 -08:00
Ken Hibino
a96719413c Add enqall command to asynqmon CLI 2019-12-10 21:40:28 -08:00
Ken Hibino
0d74c518bf Add methods to rdb to enqueue all tasks from dead, retry and scheduled
queue
2019-12-10 20:28:31 -08:00
Ken Hibino
c0185061eb
Merge pull request #10 from hibiken/feature/enq
Add enq command to asynqmon CLI
2019-12-09 20:43:17 -08:00
Ken Hibino
ea28d3cac1 Minor improvement 2019-12-09 20:37:30 -08:00
Ken Hibino
8830d23388 Rename rdb methods to enqueue scheduled, retry, and dead tasks 2019-12-09 19:33:07 -08:00
Ken Hibino
b766de4f18 [ci skip] Update documentations for enq command 2019-12-09 06:58:34 -08:00
Ken Hibino
764edc35e3 [ci skip] Update todos 2019-12-09 06:52:43 -08:00
Ken Hibino
8932ca41b3 Minor improvement 2019-12-09 06:30:45 -08:00
Ken Hibino
4179c72c05 Add enq command to asynqmon 2019-12-09 06:18:25 -08:00
Ken Hibino
39c4904dae
Merge pull request #9 from hibiken/feature/rescue
Add methods to RDB to enqueue a task sitting in ZSET (scheduled, retry, dead).
2019-12-08 14:18:37 -08:00
Ken Hibino
bbd8fb901f [ci skip] Fix typos 2019-12-08 14:17:57 -08:00
Ken Hibino
680a2cf3df Add methods to rdb.RDB to enqueues a task from scheduled, retry, dead
queues
2019-12-08 14:12:02 -08:00
Ken Hibino
8e2c4e5716 Update todos 2019-12-07 20:25:46 -08:00