Skip to content
Get started

Create a worker schedule

client.Workers.Schedules.New(ctx, workerID, body) (*WorkerScheduleUnion, error)
POST/api/workers/{workerId}/schedules

Schedule a worker instruction for a future or recurring run.

ParametersExpand Collapse
workerID string
body WorkerScheduleNewParams
Input param.Field[string]
minLength1
type WorkerScheduleNewParamsWhenObject struct{…}
Date Time
formatdate-time
Type string
type WorkerScheduleNewParamsWhenObject struct{…}
DelayInSeconds int64
minimum1
maximum31536000
Type string
type WorkerScheduleNewParamsWhenObject struct{…}
Cron string
minLength1
Type string
type WorkerScheduleNewParamsWhenObject struct{…}
IntervalSeconds int64
minimum1
maximum31536000
Type string
Budget param.Field[WorkerScheduleNewParamsBudget]Optional
const WorkerScheduleNewParamsBudgetLow WorkerScheduleNewParamsBudget = "low"
const WorkerScheduleNewParamsBudgetStandard WorkerScheduleNewParamsBudget = "standard"
const WorkerScheduleNewParamsBudgetHigh WorkerScheduleNewParamsBudget = "high"
const WorkerScheduleNewParamsBudgetUnlimited WorkerScheduleNewParamsBudget = "unlimited"
ReturnsExpand Collapse
type WorkerScheduleUnion interface{…}
One of the following:
type WorkerScheduleObject struct{…}
ID string
Budget string
One of the following:
const WorkerScheduleObjectBudgetLow WorkerScheduleObjectBudget = "low"
const WorkerScheduleObjectBudgetStandard WorkerScheduleObjectBudget = "standard"
const WorkerScheduleObjectBudgetHigh WorkerScheduleObjectBudget = "high"
const WorkerScheduleObjectBudgetUnlimited WorkerScheduleObjectBudget = "unlimited"
Input string
NextRunAt Time
formatdate-time
Type string
type WorkerScheduleObject struct{…}
ID string
Budget string
One of the following:
const WorkerScheduleObjectBudgetLow WorkerScheduleObjectBudget = "low"
const WorkerScheduleObjectBudgetStandard WorkerScheduleObjectBudget = "standard"
const WorkerScheduleObjectBudgetHigh WorkerScheduleObjectBudget = "high"
const WorkerScheduleObjectBudgetUnlimited WorkerScheduleObjectBudget = "unlimited"
DelayInSeconds int64
Input string
NextRunAt Time
formatdate-time
Type string
type WorkerScheduleObject struct{…}
ID string
Budget string
One of the following:
const WorkerScheduleObjectBudgetLow WorkerScheduleObjectBudget = "low"
const WorkerScheduleObjectBudgetStandard WorkerScheduleObjectBudget = "standard"
const WorkerScheduleObjectBudgetHigh WorkerScheduleObjectBudget = "high"
const WorkerScheduleObjectBudgetUnlimited WorkerScheduleObjectBudget = "unlimited"
Cron string
Input string
NextRunAt Time
formatdate-time
Type string
type WorkerScheduleObject struct{…}
ID string
Budget string
One of the following:
const WorkerScheduleObjectBudgetLow WorkerScheduleObjectBudget = "low"
const WorkerScheduleObjectBudgetStandard WorkerScheduleObjectBudget = "standard"
const WorkerScheduleObjectBudgetHigh WorkerScheduleObjectBudget = "high"
const WorkerScheduleObjectBudgetUnlimited WorkerScheduleObjectBudget = "unlimited"
Input string
IntervalSeconds int64
NextRunAt Time
formatdate-time
Type string

Create a worker schedule

package main

import (
  "context"
  "fmt"
  "time"

  "github.com/stainless-sdks/handinger-go"
  "github.com/stainless-sdks/handinger-go/option"
)

func main() {
  client := handinger.NewClient(
    option.WithAPIKey("My API Key"),
  )
  workerSchedule, err := client.Workers.Schedules.New(
    context.TODO(),
    "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM",
    handinger.WorkerScheduleNewParams{
      Input: "x",
      When: handinger.WorkerScheduleNewParamsWhenUnion{
        OfWorkerScheduleNewsWhenObject: &handinger.WorkerScheduleNewParamsWhenObject{
          Date: time.Now(),
          Type: "scheduled",
        },
      },
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", workerSchedule)
}
{
  "id": "id",
  "budget": "low",
  "input": "input",
  "nextRunAt": "2019-12-27T18:11:19.117Z",
  "type": "scheduled"
}
Returns Examples
{
  "id": "id",
  "budget": "low",
  "input": "input",
  "nextRunAt": "2019-12-27T18:11:19.117Z",
  "type": "scheduled"
}