emqx/apps/emqx_rule_engine
Zaiming Shi 6edd862dd5 refactor: no more EMQX_ENTERPRISE compile flag
The compile flag was introduced in EQM X 4.3 series
where CE and EE code was diverged large enough which made
non-practicle to determin edition at runtime.

such approach made testing quite challenging as we'll have to
build with different compile flags inorder to run per-edition
test cases

In this commit, we try to retrieve edition info from EMQX's
description text, (put to PT for fast access) at runtime
so we can test ALL editions from a super-set edition (EE).
2021-11-20 20:41:06 +01:00
..
etc feat(rules): support configure rules in config file 2021-10-14 15:09:37 +08:00
include feat(rules): support output functions in <<"Mod:Func">> format 2021-10-14 15:09:37 +08:00
src refactor: no more EMQX_ENTERPRISE compile flag 2021-11-20 20:41:06 +01:00
test test: API return code section 2021-11-15 16:30:44 +08:00
.gitignore chore(apps): relocate some apps 2021-02-19 11:24:41 +01:00
README.md chore: more copyright updates 2021-04-23 20:43:00 +02:00
rebar.config chore(apps): relocate some apps 2021-02-19 11:24:41 +01:00

README.md

emqx-rule-engine

IoT Rule Engine for EMQ X Broker.

Concept

iot rule "Rule Name"
  when
     match TopicFilters and Conditions
  select
    para1 = val1
    para2 = val2
  then
    take action(#{para2 => val1, #para2 => val2})

Architecture

          |-----------------|
 Pub ---->| Message Routing |----> Sub
          |-----------------|
               |     /|\
              \|/     |
          |-----------------|
          |   Rule Engine   |
          |-----------------|
               |      |
        Backends Services Bridges

SQL for Rule query statement

select id, time, temperature as t from "topic/a" where t > 50;

License

Copyright (c) 2019-2021 EMQ Technologies Co., Ltd. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.