express.ts 1.5 KB
import * as express from "express";
import { JobExecutor } from "./index";
import * as path from "path";

const config = {
    appType:'express',
    appDomain: "http://10.0.1.92:17001/",
    port: 8088,
    xxlJob: {
        executorKey: "job-ydn-zq", // 注:开发环境建议加后缀区分
        scheduleCenterUrl: "http://xxljob.ydniu.com/xxl-job-admin",
        accessToken: "default_token",
        jobLogPath: "logs/job",
        enableDebugLog: false,
    },
    frpcConfigPath: path.join(process.cwd(), 'frp/frpc.toml') //根目录下文件夹frp中的frpc.toml
};

var jobExecutor = new JobExecutor(config);

jobExecutor.register("demoJobHandler", async (args) => {

    for (let i = 1; i < 10; i++) {
        await new Promise((resolve, reject) => {
            setTimeout(resolve, 888);
        })
    }

    return { result: 'return value' };
})

//批量任务注册
const batchJob = [
    [
        "demoJobHandler1",
        async (args) => {
            for (let i = 1; i < 10; i++) {
                await new Promise((resolve, reject) => {
                    setTimeout(resolve, 888);
                })
            }

            return { result: 'return value' };
        }
    ],
       [
        "demoJobHandler2",
        async (args) => {
            for (let i = 1; i < 10; i++) {
                await new Promise((resolve, reject) => {
                    setTimeout(resolve, 888);
                })
            }

            return { result: 'return value' };
        }
    ]
]

jobExecutor.registerBatch(batchJob);