gin vue admin 定时任务 怎么使用
时间: 2023-05-27 14:06:57 浏览: 259
1. 安装依赖
首先需要安装 `node-cron`,这是一个使用 Node.js 实现的定时任务工具。
```bash
npm install node-cron -S
```
2. 编写定时任务
在 `src` 目录下创建 `tasks` 目录,并在该目录下创建 `index.js` 文件,编写定时任务逻辑。
```javascript
const cron = require('node-cron');
// 每分钟执行一次
cron.schedule('* * * * *', () => {
console.log('running a task every minute');
});
// 每天的 0 点执行一次
cron.schedule('0 0 * * *', () => {
console.log('running a task every day at midnight');
});
```
3. 在 Vue 组件中使用定时任务
在需要使用定时任务的 Vue 组件中引入 `tasks/index.js` 文件,并在 `mounted` 钩子函数中启动定时任务。
```javascript
import { startTask } from '@/tasks';
export default {
mounted() {
startTask();
},
};
```
4. 停止定时任务
在需要停止定时任务的 Vue 组件中引入 `tasks/index.js` 文件,并在 `destroyed` 钩子函数中停止定时任务。
```javascript
import { stopTask } from '@/tasks';
export default {
destroyed() {
stopTask();
},
};
```
完整代码:
`src/tasks/index.js`
```javascript
const cron = require('node-cron');
let task = null;
function startTask() {
task = cron.schedule('* * * * *', () => {
console.log('running a task every minute');
});
}
function stopTask() {
if (task) {
task.stop();
}
}
export {
startTask,
stopTask,
};
```
`src/components/Task.vue`
```vue
<template>
<div>
{{ message }}
</div>
</template>
<script>
import { startTask, stopTask } from '@/tasks';
export default {
data() {
return {
message: 'Task is running',
};
},
mounted() {
startTask();
},
destroyed() {
stopTask();
},
};
</script>
```
阅读全文