Позволяет асинхронно выполнить поставленную задачу через установленный промежуток времени.
Применение/сигнатура
import { scheduleJobAfter } from '@app/jobs'
await scheduleJobAfter(ctx, scheduleDuration, scheduleMeasure, jobUrl, dataObject)
Параметр | Тип | Описание |
---|---|---|
ctx | app.Ctx | Контекст запроса. Используется для внутренней реализации, сохранения информации о пользователе, создавшем запись, а также позволяет выполнить запрос в нужной транзакции. |
scheduleDuration | number | Период ожидания перед выполнением задачи. |
scheduleMeasure | Единица измерения периода ожидания | Возможные значения: milliseconds, seconds, minutes, hours, days, weeks, months, quarters, years |
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) => {
await scheduleJobAfter(ctx, 5, 'seconds', jobAction.path(), {
key: '123',
})
})
const jobAction = app.job('jobPath', async (ctx, params) => {
ctx.log('Job called', params)
})