Ken Hibino
ca78b92078
Add Queue option to allow user to specify queue from client
...
Added base.QueueKey method to get redis key for given queue name.
Changed asynqtest.GetEnqueuedMessages to optionally take queue name.
2020-01-07 21:55:18 -08:00
Ken Hibino
c62833540c
Add license comment to all src files
2020-01-02 18:13:16 -08:00
Ken Hibino
4376dc1e9d
Add benchmark tests for rdb
2019-12-31 08:24:03 -08:00
Ken Hibino
b7c0c5d3aa
Handle mutated task in RDB's Done, Retry, Kill methods
...
It is possible that user mutates the task's payload in Handler
(Although doc says the task in handler is read-only). Prevent
ending up in an inconsistent state by handling the case where
user mutates the task.
2019-12-31 08:24:03 -08:00
Ken Hibino
49d6ab5df0
Clean up rdb package
2019-12-29 10:05:02 -08:00
Ken Hibino
4ceb49cfd1
Minor improvements
2019-12-28 06:41:39 -08:00
Ken Hibino
5b98b8eb62
Add KillRetryTask, KillScheduledTask methods to RDB
2019-12-27 15:17:45 -08:00
Ken Hibino
698fdcfcb2
fix: Change max dead tasks count to 100
2019-12-25 19:57:23 -08:00
Ken Hibino
b2161a481d
Record processed and failure daily count
2019-12-24 20:05:46 -08:00
Ken Hibino
3fd248615b
Create base internal package
2019-12-22 07:40:25 -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
69b46a7f0d
Use sync.Once
2019-12-17 20:34:56 -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
911e600c41
Terminate background upon receiving SIGTERM or SIGINT
2019-12-16 20:19:58 -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
edcd70b221
Replace google/uuid package with rs/xid for more compact id
2019-12-11 07:41:38 -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
c1d0497182
Remove debug log
2019-12-06 22:30:11 -08:00
Ken Hibino
f3b9745228
Add tests for rdb list methods
2019-12-05 17:13:37 -08:00
Ken Hibino
437fb03bb3
Unexport redis key name constants from rdb package
2019-12-04 17:23:11 -08:00
Ken Hibino
918f33d37d
Implement all "list tasks" methods in rdb
2019-12-04 17:10:39 -08:00
Ken Hibino
afacc31990
Minor improvements
2019-12-04 16:58:07 -08:00
Ken Hibino
28bfb6d83a
Rename to CheckAndEnqueue
2019-12-04 07:28:57 -08:00
Ken Hibino
4684f961c0
Refactor forwarding of scheduled tasks
2019-12-04 07:14:37 -08:00
Ken Hibino
318b24b3b8
Rename MoveAll to RestoreUnfinished
2019-12-04 06:50:52 -08:00
Ken Hibino
4531e90b9d
Define Schedule and RetryLater method for RDB
2019-12-04 06:45:30 -08:00
Ken Hibino
985018e1b5
Rename rdb Remove to Done
2019-12-04 06:33:05 -08:00
Ken Hibino
39f177dabf
Change rdb Dequeue signature
2019-12-04 06:25:58 -08:00
Ken Hibino
d4e442d04f
Extract rdb to internal package
2019-12-03 22:13:48 -08:00