mirror of
https://github.com/hibiken/asynq.git
synced 2024-11-10 11:31:58 +08:00
Document options precedence
This commit is contained in:
parent
4229073a24
commit
f5b7e0cccd
@ -68,6 +68,9 @@ const (
|
|||||||
//
|
//
|
||||||
// Process returns nil if the task is registered successfully,
|
// Process returns nil if the task is registered successfully,
|
||||||
// otherwise returns non-nil error.
|
// otherwise returns non-nil error.
|
||||||
|
//
|
||||||
|
// opts specifies the behavior of task processing. If there are conflicting
|
||||||
|
// Option the last one overrides the ones before.
|
||||||
func (c *Client) Process(task *Task, processAt time.Time, opts ...Option) error {
|
func (c *Client) Process(task *Task, processAt time.Time, opts ...Option) error {
|
||||||
opt := composeOptions(opts...)
|
opt := composeOptions(opts...)
|
||||||
msg := &rdb.TaskMessage{
|
msg := &rdb.TaskMessage{
|
||||||
|
@ -89,6 +89,24 @@ func TestClient(t *testing.T) {
|
|||||||
},
|
},
|
||||||
wantScheduled: nil, // db is flushed in setup so zset does not exist hence nil
|
wantScheduled: nil, // db is flushed in setup so zset does not exist hence nil
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
desc: "Conflicting options",
|
||||||
|
task: task,
|
||||||
|
processAt: time.Now(),
|
||||||
|
opts: []Option{
|
||||||
|
MaxRetry(2),
|
||||||
|
MaxRetry(10),
|
||||||
|
},
|
||||||
|
wantEnqueued: []*rdb.TaskMessage{
|
||||||
|
&rdb.TaskMessage{
|
||||||
|
Type: task.Type,
|
||||||
|
Payload: task.Payload,
|
||||||
|
Retry: 10, // Last option takes precedence
|
||||||
|
Queue: "default",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
wantScheduled: nil, // db is flushed in setup so zset does not exist hence nil
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range tests {
|
for _, tc := range tests {
|
||||||
|
Loading…
Reference in New Issue
Block a user