我想创建一个完整的堆栈 nuxt 应用程序应用程序,它还有一个单独的功能,可以使用 imap 侦听电子邮件,并且它使用 nust 服务器应该使用的相同功能,我找不到 nuxt 应用程序中的正确位置去吧。
电子邮件监听器看起来像这样
const checkEmails()=>{
//connect to imap and check for new emails
//when done
setTimeout(checkEmails,15*60*1000)
}
checkEmails()
我可能会误解,但是Nuxt使用的服务器引擎Nitro对运行计划任务有实验性支持,这可能会解决你的问题。
它看起来像这样:
// nuxt.config.ts
export default defineNuxtConfig({
nitro: {
experimental: {
tasks: true,
},
scheduledTasks: {
// Run `email:check` task every 15 minutes
'*/15 * * * *': ['email:check'],
},
},
});
// server/tasks/email/check.ts
export default defineTask({
meta: {
name: 'email:check',
description: 'Check emails',
},
async run(_event) {
console.log('Running email:check task');
const result = await checkEmails();
console.log('Done with email:check task');
return { result };
},
});