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 WorkerScheduleNewParamsWhenScheduled struct{…}
Date string
minLength1
Type Scheduled
type WorkerScheduleNewParamsWhenDelayed struct{…}
DelayInSeconds int64
minimum1
maximum31536000
Type Delayed
type WorkerScheduleNewParamsWhenCron struct{…}
Cron string
minLength1
Type Cron
type WorkerScheduleNewParamsWhenInterval struct{…}
IntervalSeconds int64
minimum1
maximum31536000
Type Interval
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 WorkerScheduleScheduled struct{…}
ID string
Budget string
One of the following:
const WorkerScheduleScheduledBudgetLow WorkerScheduleScheduledBudget = "low"
const WorkerScheduleScheduledBudgetStandard WorkerScheduleScheduledBudget = "standard"
const WorkerScheduleScheduledBudgetHigh WorkerScheduleScheduledBudget = "high"
const WorkerScheduleScheduledBudgetUnlimited WorkerScheduleScheduledBudget = "unlimited"
Input string
NextRunAt Time
formatdate-time
Type Scheduled
type WorkerScheduleDelayed struct{…}
ID string
Budget string
One of the following:
const WorkerScheduleDelayedBudgetLow WorkerScheduleDelayedBudget = "low"
const WorkerScheduleDelayedBudgetStandard WorkerScheduleDelayedBudget = "standard"
const WorkerScheduleDelayedBudgetHigh WorkerScheduleDelayedBudget = "high"
const WorkerScheduleDelayedBudgetUnlimited WorkerScheduleDelayedBudget = "unlimited"
DelayInSeconds int64
Input string
NextRunAt Time
formatdate-time
Type Delayed
type WorkerScheduleCron struct{…}
ID string
Budget string
One of the following:
const WorkerScheduleCronBudgetLow WorkerScheduleCronBudget = "low"
const WorkerScheduleCronBudgetStandard WorkerScheduleCronBudget = "standard"
const WorkerScheduleCronBudgetHigh WorkerScheduleCronBudget = "high"
const WorkerScheduleCronBudgetUnlimited WorkerScheduleCronBudget = "unlimited"
Cron string
Input string
NextRunAt Time
formatdate-time
Type Cron
type WorkerScheduleInterval struct{…}
ID string
Budget string
One of the following:
const WorkerScheduleIntervalBudgetLow WorkerScheduleIntervalBudget = "low"
const WorkerScheduleIntervalBudgetStandard WorkerScheduleIntervalBudget = "standard"
const WorkerScheduleIntervalBudgetHigh WorkerScheduleIntervalBudget = "high"
const WorkerScheduleIntervalBudgetUnlimited WorkerScheduleIntervalBudget = "unlimited"
Input string
IntervalSeconds int64
NextRunAt Time
formatdate-time
Type Interval

Create a worker schedule

package main

import (
  "context"
  "fmt"

  "github.com/ramensoft/handinger-go"
  "github.com/ramensoft/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{
        OfScheduled: &handinger.WorkerScheduleNewParamsWhenScheduled{
          Date: "x",
        },
      },
    },
  )
  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"
}