Позволяет асинхронно выполнить поставленную задачу в определённое время.
Применение/сигнатура
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)
})