Files
vic-server-mongo/src/jobs/index.js
chaosBreaking 3aaf9244fc agendash
2019-10-15 15:01:43 +08:00

27 lines
1.1 KiB
JavaScript

'use strict';
const { inject } = require('../common/Provider');
const Agenda = require('agenda');
const mongoose = require('mongoose');
const mountJobs = require('./jobs');
const exec = require('child_process').exec;
module.exports = () => inject(async function startJob(SysConfig) {
const { DB_USER_NAME, DB_PASSWD, DB_HOST, DB_PORT, DB_NAME } = SysConfig;
mylog.info('连接到任务队列数据库...');
const jobConn = await mongoose.createConnection(`mongodb://${DB_USER_NAME}:${DB_PASSWD}@${DB_HOST}:${DB_PORT}/${DB_NAME}`, {
useNewUrlParser: true,
autoReconnect: true,
useFindAndModify: false,
useUnifiedTopology: true
});
mylog.info('连接到任务队列数据库成功');
const Job = new Agenda({ mongo: jobConn });
mountJobs(Job);
await Job.start();
mylog.info('任务队列启动...');
// app.use('/admin/myAgendash', Agendash(Job));
exec(`npx agendash --db=mongodb://${DB_USER_NAME}:${DB_PASSWD.replace('&', `\\&`)}@${DB_HOST}:${DB_PORT}/${DB_NAME} --collection=agendaJobs --port=6057`);
mylog.info('agendash启动...');
return Job;
});