关于ThinkJs 的Crontab定时任务无法执行的问题

在这个问题上纠结了老半天,同样的Action方法,我放在这个Controller中无法执行,放在另一个Controller中却可以,甚至我复制这个可行的Controller重命名都不行,莫非创建Controller需要在哪个文件中声明?在群里问了也不需要。最后的最后,经技术负责人点拨,是权限问题!需要在common或对应的模块下的config/config.js中配置,例如:

// default config
module.exports = {
    // 可以公开访问的Controller
    publicController: [
        // 格式为controller
        'index',
    ],

    // 可以公开访问的Action
    publicAction: [
        'order/test'
    ]
};

这样,配置在crontab中的Action方法才会执行:

module.exports = [
    {
        // cron: '0 28 16 * * ?',
        interval: '10s',
        immediate: true,
        handle: 'index/test'
    },
    {
        // cron: '0 28 16 * * ?',
        interval: '10s',
        immediate: true,
        handle: 'order/test'
    },
];

猜你喜欢

转载自blog.csdn.net/KevinsCSDN/article/details/82380360