Ken Hibino
bca624792c
Move task deadline compute logic to processor
2022-02-19 06:15:44 -08:00
Ken Hibino
5490d2c625
Fix tests
2022-02-16 07:08:01 -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
6cce31a134
Fix recoverer test
2021-06-29 16:34:21 -07:00
Ken Hibino
f9d7af3def
Update ProcessorRetry test
2021-06-29 16:34:21 -07:00
Ken Hibino
9c95c41651
Change Server API
...
* Rename ServerStatus to ServerState internally
* Rename terminate to shutdown internally
* Update Scheduler API to match Server API
2021-06-29 16:34:21 -07:00
Ken Hibino
476812475e
Change payload to byte slice
2021-06-29 16:34:21 -07:00
Ken Hibino
eba7c4e085
Record deadline within WorkerInfo
2021-01-31 06:09:40 -08:00
Ken Hibino
ccb682853e
Export DefaultRetryDelayFunc
2021-01-14 06:43:44 -08:00
Ken Hibino
00a25ca570
Rename DeadTask to ArchivedTask and action "kill" to "archive"
2021-01-14 06:43:44 -08:00
Ken Hibino
7235041128
Add SkipRetry error to be used as a return value from Handler
2021-01-14 06:43:44 -08:00
Ken Hibino
0712e90f23
Print stack track when recovering from a panic in processor
2021-01-14 06:43:44 -08:00
Ken Hibino
69d7ec725a
Close redis client after each test run
2020-09-12 12:59:03 -07:00
Ken Hibino
a891ce5568
Rename InProgress to Active
2020-09-12 12:59:03 -07:00
Ken Hibino
c8c47fcbf0
Rename Enqueued to Pending
2020-09-12 12:59:03 -07:00
Ken Hibino
572eb338d5
Fix flaky ProcessorRetry test
2020-09-12 12:59:03 -07:00
Ken Hibino
96f23d88cd
Add more processor tests
2020-09-12 12:59:03 -07:00
Ken Hibino
83bdca5220
Fix test build errors
2020-09-12 12:59:03 -07:00
Ken Hibino
3f26122ac0
Fix more build errors
2020-09-12 12:59:03 -07:00
Ken Hibino
a28f61f313
Add Inspector type
2020-07-28 22:45:57 -07:00
Ken Hibino
8d43fe407a
Change ErrorHandler function signature
2020-07-06 05:48:31 -07:00
Ken Hibino
379da8f7a2
Clean up processor test
2020-07-06 05:48:31 -07:00
Ken Hibino
a2abeedaa0
Fix JSON number ovewflow issue
2020-06-12 06:29:36 -07:00
Ken Hibino
8af4cbad51
Fix data race in test
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
23f46dde52
Add helper functions to extract task metadata from context
2020-05-29 05:40:42 -07:00
Ken Hibino
4492ed9255
Change internal constructor signatures.
...
Created "params" type to avoid positional arguments.
Personally it feels more explicit and reads better.
2020-05-17 13:25:24 -07:00
Ken Hibino
5161b9368a
Clean up tests
2020-05-02 07:05:26 -07:00
Ken Hibino
f8a94fb839
Define broker interface
2020-04-19 08:51:17 -07:00
Ken Hibino
4ec2dc9e47
Minor reorganization in tests
2020-04-19 08:51:17 -07:00
Ken Hibino
4df372b369
Allow user to configure shutdown timeout
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
d664d68fa4
Extract out log package
2020-03-09 07:17:52 -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
897ab4e28b
Add ErrorHandler type to changelog
2020-02-29 22:09:13 -08:00
Ken Hibino
a4e4c0b1d5
Call error handler when task was not processed successfully
2020-02-29 22:09:13 -08:00
Ken Hibino
95b7dcaad4
Clean up processor test
2020-02-29 22:09:13 -08:00
Ken Hibino
830020eb39
Add ProcessState type to base package
2020-02-22 08:56:51 -08:00
Ken Hibino
3d9a222bb3
Use sync.WaitGroup for shutdown
2020-02-16 18:22:59 -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
6685827147
Add redis pubsub subscriber for cancelation
2020-02-13 06:23:51 -08:00
Ken Hibino
1b41c721b4
Change Handler interface to take context.Context
2020-02-13 06:23:51 -08:00
Ken Hibino
96f06ac89b
Add ps command to asynqmon
2020-02-02 20:56:33 -08:00
Ken Hibino
c29200b1fc
Add syncer to retry failed redis commands
2020-01-18 15:07:15 -08:00
Ken Hibino
84eef4ed0b
Add strict-priority option
2020-01-12 18:39:57 -08:00
Ken Hibino
97316d6766
Fix flaky tests
...
Some tests were failing due to mismatch in Score in ZSetEntry.
Changed ZSetEntry Score to float64 type so that we can use
cmpopts.EquateApprox to allow for margin when comparing.
2020-01-11 10:09:15 -08:00