在Nuxtjs中执行定时任务
Create scheduled jobs with human readable time settings.
Nuxtjs
83 views
Oct 08, 2024
后端执行定时任务非常容易,只需要在方法上加上
@Scheduled
就行了,那么Nuxt全栈项目有没有办法执行定时任务呢?答案是有的
是Nuxt生态中的一个模块,用于创建定义任务。
#安装
pnpm add -D nuxt-scheduler
#使用
在nuxt.config.ts
中使用
export default defineNuxtConfig({
modules: [
'nuxt-scheduler',
],
})
创建~/server/plugins/SchedulerTask.ts
import { useScheduler } from '#scheduler';
import { updateFriendScreenShotTask, updateArticleObImageTask } from '~/server/task';
export default defineNitroPlugin(() => {
startScheduler();
});
function startScheduler() {
const scheduler = useScheduler();
scheduler
.run(() => {
updateFriendScreenShotTask();
})
.dailyAt(0, 22);
scheduler
.run(() => {
updateArticleObImageTask();
})
.dailyAt(1, 3);
scheduler
.run(() => {
console.warn('cool beans! I run once a minutes! 😀');
})
.everyMinutes(1);
}
使用useScheduler()
来创建定时任务,每个scheduler
都是一个单独执行的任务。