scheduleJobAt

Позволяет асинхронно выполнить поставленную задачу в определённое время.

Применение/сигнатура

import { scheduleJobAt } from '@app/jobs'
scheduleJobAt(ctx, startAt, jobUrl, dataObject)

Аргументы

Параметр Тип Описание
ctx app.Ctx Контекст запроса. Используется для внутренней реализации, сохранения информации о пользователе, создавшем запись, а также позволяет выполнить запрос в нужной транзакции.
startAt Date Date объект, указывающий на время выполнения задачи.
jobUrl string Ссылка на задачу, созданную с помощью app.job
dataObject object Объект для передачи данных внутрь задачи.

Возвращает

string - id задачи, по которому ее можно отменить с помощью функции cancelJob

Пример использования функции

import { scheduleJobAfter } from '@app/jobs'

app.screen('/', function (ctx, req) {
  return (
    <screen>
      <button onClick={setJobAction.apiCall()} class={['primary', 'section']}>
        Schedule job
      </button>
    </screen>
  )
})

const setJobAction = app.apiCall('scheduleJob', async (ctx, req) => {
  const date = new Date("2025-01-26");
  await scheduleJobAt(ctx, date, jobAction.path(), {
    key: '123',
  })
})

const jobAction = app.job('jobPath', async (ctx, params) => {
  ctx.log('Job called', params)
})

❤️ Made with love on Chatium

ООО "Чатиум"

Информация о компании