0.2.0 • Published 5 years ago

js-engine v0.2.0

Weekly downloads
1
License
ISC
Repository
github
Last release
5 years ago

js-engine

使用

  • 规则定义具体参见 json-rules-engine,定时器相关的规则参见测试文件/test/engine.test.js
  • 关于定时器,需要监听Engine实例上的timer事件,参数为触发的timer factId
    engine.on('timer', (data) => {
     console.log(`engine on timer ${data}`)
    })

多进程多节点下的坑

  • 规则/规则对应fact 如果不移除则会在多次run时多次触发,建议触发的规则从runtime中移除
  • 定时器是通过提交event方式触发,不会存储到fact,所以不要设置两个有交叉时间的定时器
  • 关于多进程多节点的 定时器/rule同步/fact同步问题
    • 定时器只能在一个进程中运行,否则会一个定时多次触发
    • fact同步可通过配置,是否在每次run前同步redis fact缓存
    • rule同步问题,只能在库外做同步方案

提升点

  • 在库中加入分布式方案,低消耗解决 rule/fact 同步问题
  • 对runtime中规则 操作时,对应timer操作

关于cron

  • 支持两种模式6位和7位

┬ ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ └ year │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── month (1 - 12) │ │ │ └────────── day of month (1 - 31) │ │ └─────────────── hour (0 - 23) │ └──────────────────── minute (0 - 59) └───────────────────────── second (0 - 59, OPTIONAL)

0.2.0

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago