【问题标题】:CRON Example for StrapiStrapi 的 CRON 示例
【发布时间】:2019-07-19 09:33:00
【问题描述】:

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

【问题讨论】:

  • 文档中的例子还不够?你到底想做什么?

标签: cron content-management-system strapi


【解决方案1】:
'*/1 * * * *': async() => {
    console.log("I am running " + new Date(), Object.keys(strapi.config));
    await strapi.services.article.publish();
  }

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

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

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

【讨论】:

    【解决方案2】:

    Strapi 的一些 CORN 作业示例

    添加这一行 server.js

    ...
      port: env.int('PORT', 1337),
      cron :{
        enabled: true
      },
      admin:
    ...
    

    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");
      },   
    };
    

    【讨论】:

      【解决方案3】:

      默认情况下,Strapi 3 已关闭 cron 作业。确保先打开它们 :)

      您也不需要在 cron 作业中每分钟都执行 */1,只需 *,因为 * 表示每个,并且它每分钟只检查一次。

      【讨论】:

      • 我相信这不再可以通过 UI 获得,您必须通过 server.json
      • 我们必须在 server.js 中做:cron: { enabled: true }
      【解决方案4】:

      我的要求是从托管在 RDS (AWS) 下的外部 MSSQL DB(主数据)中获取数据,并每分钟更新一次strapi 产品目录(mongodb)。

      我在“root”下创建了一个自定义“cron”文件夹来保存我的所有自定义模块,以保持干净的“cron.js”。

      在“cron.js”下,我只是导入了我的自定义模块来调用外部模块:

      const fwSync = require('../../cron/dataSync');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-12
        • 1970-01-01
        • 2013-06-14
        • 1970-01-01
        • 2020-09-21
        • 2019-08-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多