From 66d83525026828f6d285e0759a1bf0c1503d20c6 Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Thu, 29 Jan 2026 09:22:42 +0000 Subject: [PATCH] feat: lease seconds --- client/client.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index b56ba2c..212c9a4 100755 --- a/client/client.go +++ b/client/client.go @@ -27,6 +27,8 @@ type Client struct { ctx context.Context cancel context.CancelFunc running bool + + leaseSeconds int } 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. func (c *Client) enqueue(ctx context.Context, request *EnqueueRequest) (*Task, error) { request.ApplicationId = c.ApplicationID @@ -290,9 +296,15 @@ func (c *Client) pollLoop() { } func (c *Client) pollServer() { + + leaseSeconds := c.leaseSeconds + if leaseSeconds == 0 { + leaseSeconds = 60 + } + task, ok, err := c.pop(c.ctx, &PopRequest{ WorkerId: c.WorkerID, - LeaseSeconds: 60, + LeaseSeconds: leaseSeconds, Filter: &TaskFilter{ ApplicationId: c.ApplicationID, },