1 Commits

Author SHA1 Message Date
mrhid6
66d8352502 feat: lease seconds 2026-01-29 09:22:42 +00:00

View File

@@ -27,6 +27,8 @@ type Client struct {
ctx context.Context ctx context.Context
cancel context.CancelFunc cancel context.CancelFunc
running bool running bool
leaseSeconds int
} }
type TaskFilter struct { type TaskFilter struct {
@@ -115,6 +117,10 @@ func New(baseURL string, ApplicationID string, WorkerId string) *Client {
} }
} }
func (c *Client) SetLeaseSeconds(s int) {
c.leaseSeconds = s
}
// Enqueue adds a new task. // Enqueue adds a new task.
func (c *Client) enqueue(ctx context.Context, request *EnqueueRequest) (*Task, error) { func (c *Client) enqueue(ctx context.Context, request *EnqueueRequest) (*Task, error) {
request.ApplicationId = c.ApplicationID request.ApplicationId = c.ApplicationID
@@ -290,9 +296,15 @@ func (c *Client) pollLoop() {
} }
func (c *Client) pollServer() { func (c *Client) pollServer() {
leaseSeconds := c.leaseSeconds
if leaseSeconds == 0 {
leaseSeconds = 60
}
task, ok, err := c.pop(c.ctx, &PopRequest{ task, ok, err := c.pop(c.ctx, &PopRequest{
WorkerId: c.WorkerID, WorkerId: c.WorkerID,
LeaseSeconds: 60, LeaseSeconds: leaseSeconds,
Filter: &TaskFilter{ Filter: &TaskFilter{
ApplicationId: c.ApplicationID, ApplicationId: c.ApplicationID,
}, },