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
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
0527b93432
Change TaskMessage Timeout and Deadline to int
...
* This change breaks existing tasks in Redis
2020-07-06 05:48:31 -07:00
Ken Hibino
5dddc35d7c
Add redis key for deadlines in base package
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
a2abeedaa0
Fix JSON number ovewflow issue
2020-06-12 06:29:36 -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
4e800a7f68
Update stats command to show queue paused status
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
4595bd41c3
Add Pause and Unpause methods to rdb
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
fa3082e5bb
Change LogLevel to satisfy flag.Value interface
2020-05-16 08:00:35 -07:00
Ken Hibino
d13f7e900f
Allow setting minimum log level for logger
2020-05-16 08:00:35 -07:00
Ken Hibino
b63476ddc8
Simplify Logger interface
2020-05-16 08:00:35 -07:00
Ken Hibino
5161b9368a
Clean up tests
2020-05-02 07:05:26 -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
Ken Hibino
c688b8f4f9
Fix test for base package
2020-04-19 08:51:17 -07:00
Ken Hibino
239ef27a6e
Update doc comments
2020-04-19 08:51:17 -07:00
Ken Hibino
b086e88a47
Rename ps command to servers
2020-04-19 08:51:17 -07:00
Ken Hibino
aafd8a5b74
Rename internal ProcessState to ServerState
2020-04-19 08:51:17 -07:00
Ken Hibino
b14c73809e
Refactor server state
2020-04-19 08:51:17 -07:00
Ken Hibino
9b4438347e
Fix comment
2020-03-21 11:44:26 -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
Ken Hibino
8d2b9d6be7
Add comments to exported types and functions from internal/log package
2020-03-13 21:04:45 -07:00
Bo-Yi Wu
30b68728d4
chore(lint): fix from gofmt -s
2020-03-13 20:01:39 -07:00
Ken Hibino
0bc6eba021
Allow custom logger to be used in Background
2020-03-12 08:40:37 -07:00
Ken Hibino
d664d68fa4
Extract out log package
2020-03-09 07:17:52 -07:00
Ken Hibino
a425f54d23
[ci skip] Remove todo comment
2020-03-09 06:09:07 -07:00
Ken Hibino
3c722386b0
Add Deadline option when enqueuing tasks
...
Deadline option sets the deadline for the given task's context deadline.
2020-03-08 17:12:42 -07:00
Ken Hibino
26e399bc9c
Add workers command to asynqmon
2020-02-22 21:21:55 -08:00
Ken Hibino
e21fe3bd79
Add ListWorkers to RDB
2020-02-22 21:21:55 -08:00
Ken Hibino
37c6c73d9b
Add test for cancelation pubsub
2020-02-22 15:16:24 -08:00
Ken Hibino
5775a5818d
Update WriteProcessState to write both ProcessInfo and WorkerInfo to
...
redis
2020-02-22 08:56:51 -08:00
Ken Hibino
e3c9aae8c7
Include worker stats to ProcessState
2020-02-22 08:56:51 -08:00
Ken Hibino
9e02a91808
Add workers key in base package
2020-02-22 08:56:51 -08:00
Ken Hibino
830020eb39
Add ProcessState type to base package
2020-02-22 08:56:51 -08:00
Ken Hibino
2bcaea52ce
Make heartbeater goroutine a monitor goroutine for process info.
2020-02-16 18:22:59 -08:00
Ken Hibino
d33ca98648
Use int as priority value type.
...
Do not use unsigned int for merely non-negative quantities as it
complicates simple arithmetic.
2020-02-13 06:23:51 -08:00
Ken Hibino
cd55a0e316
Add cancel command to asynqmon cli
2020-02-13 06:23:51 -08:00
Ken Hibino
6685827147
Add redis pubsub subscriber for cancelation
2020-02-13 06:23:51 -08:00
Ken Hibino
39459b4412
Allow user to specify timeout per task
2020-02-13 06:23:51 -08:00
Ken Hibino
d9327cf24b
Avoid creating script struct on every rdb method invocation
2020-02-09 09:34:41 -08:00
Ken Hibino
96f06ac89b
Add ps command to asynqmon
2020-02-02 20:56:33 -08:00