Strapi的CRON示例

Mig*_*uig 1 cron content-management-system strapi

嗨,我想知道是否有人在Strapi上使用Cron Schedule函数的示例:https ://strapi.io/documentation/3.xx/configurations/configurations.html#functions, 例如发送电子邮件,访问trapi配置等。

Bal*_*tra 6

'*/1 * * * *': async() => {
    console.log("I am running " + new Date(), Object.keys(strapi.config));
    await strapi.services.article.publish();
  }
Run Code Online (Sandbox Code Playgroud)

your-project / config / functions / cron.js中。您可以按照上述格式添加尽可能多的功能。函数名称本身是一个cron表达式,由trapi解析以频繁执行。有许多在线工具可以告诉您要创建的cron表达式。

上面的函数每1分钟运行一次,通过该时间我可以使用trapi.services发布内容类型。即在文件your-project / api / article / services / Article.js中,我编写了一个服务层方法,该方法目前正在发布文章。

同样,您可以从电子邮件内容类型或为触发电子邮件而创建的任何实用程序文件发送电子邮件。要访问trapi config,请使用:trapi.config对象而不是trapi.services


Raf*_*zan 5

Strapi 的 CORN 作业示例

添加这一行 server.js

...
  port: env.int('PORT', 1337),
  cron :{
    enabled: true
  },
  admin:
...
Run Code Online (Sandbox Code Playgroud)

corn.js 一些例子

module.exports = {
  /**
   * Simple example.
   * Every monday at 1am.
   */
  '*/5 * * * * *': () => {
    console.log(" ~ file: cron.js ~ line 21 ~Every 5sec");
  },  
  '*/10 * * * * *': () => {
    console.log(" ~ file: cron.js ~ line 21 ~Every 10sec");
  },
  '* */5 * * * *': () => {
    console.log(" ~ file: cron.js ~ line 21 ~Every 5min");
  },
  '* * */5 * * *': () => {
    console.log(" ~ file: cron.js ~ line 21 ~Every 5hour");
  },   
};
Run Code Online (Sandbox Code Playgroud)