ekuiper规则自动重启问题


我把规则关掉以后,又会重新启动是怎么回事呢

麻烦提供版本,重现步骤,log


kuiper-1.10.1-linux-amd64

创建后规则后,手动关闭,则又自动开启

kuiper.yaml内容如下

basic:
  # debug | info | warn | error | fatal | panic
  logLevel: info
  # true|false, with debug level, it prints more debug info
  debug: false
  # true|false, if it's set to true, then the log will be print to console
  consoleLog: false
  # true|false, if it's set to true, then the log will be print to log file
  fileLog: true
  # Whether to disable the log timestamp, useful when output is redirected to logging
  #	system like syslog that already adds timestamps.
  logDisableTimestamp: false
  # syslog settings
  syslog:
    # true|false, if it's set to true, then the log will be print to syslog
    enable: false
    # The syslog protocol, tcp or udp; Leave empty if no remote syslog server is used
    network: udp
    # The syslog server address; Leave empty if no remote syslog server is used
    address: localhost:514
    # The syslog level, supports debug, info, warn, error
    level: info
    # The syslog tag; Leave empty if no tag is used
    tag: kuiper
  # How many hours to split the file
  rotateTime: 24
  # Maximum file storage hours
  maxAge: 72
  # Maximum file size in bytes, if this is set, maxAge will be ignored
  rotateSize: 10485760 # 10 MB
  # Maximum log file count
  rotateCount: 3
  # CLI ip
  ip: 0.0.0.0
  # CLI port
  port: 20498
  # REST service ip
  restIp: 0.0.0.0
  # REST service port
  restPort: 9081
  # The global time zone from the IANA time zone database, or Local if not set.
  timezone: Local
  # true|false, when true, will check the RSA jwt token for rest api
  authentication: false
  #  restTls:
  #    certfile: /var/https-server.crt
  #    keyfile: /var/https-server.key
  # Prometheus settings
  prometheus: false
  prometheusPort: 20499
  # The URL where hosts all of pre-build plugins. By default, it's at packages.emqx.net
  pluginHosts: https://packages.emqx.net
  # Whether to ignore case in SQL processing. Note that, the name of customized function by plugins are case-sensitive.
  ignoreCase: false
  sql:
    # maxConnections indicates the max connections for the certain database instance group by driver and dsn sharing between the sources/sinks
    # 0 indicates unlimited
    maxConnections: 0
  rulePatrolInterval: 10s
  # cfgStorageType indicates the storage type to store the config, support "file","sqlite" and "fdb"
  cfgStorageType: file

# The default options for all rules. Each rule can override this setting by defining its own option
rule:
  # The qos of the rule. The values can be 0: At most once; 1: At least once; 2: Exactly once
  # If qos is bigger than 0, the checkpoint mechanism will launch to save states so that they can be
  # restored for unintended interrupt or planned restart of the rule. The performance may be affected
  # to enable the checkpoint mechanism
  qos: 0
  # The interval in millisecond to run the checkpoint mechanism.
  checkpointInterval: 300000
  # Whether to send errors to sinks
  sendError: true
  # The strategy to retry for rule errors.
  restartStrategy:
    # The maximum retry times
    attempts: 0
    # The interval in millisecond to retry
    delay: 1000
    # The maximum interval in millisecond to retry
    maxDelay: 30000
    # The exponential to increase the interval. It can be a float value.
    multiplier: 2
    # How large random value will be added or subtracted to the delay to prevent restarting multiple rules at the same time.
    jitterFactor: 0.1
sink:
  # Control to enable cache or not. If it's set to true, then the cache will be enabled, otherwise, it will be disabled.
  enableCache: false

  # The maximum number of messages to be cached in memory.
  memoryCacheThreshold: 1024

  # The maximum number of messages to be cached in the disk.
  maxDiskCache: 1024000

  # The number of messages for a buffer page which is the unit to read/write to disk in batch to prevent frequent IO
  bufferPageSize: 256

  # The interval in millisecond to resend the cached messages
  resendInterval: 0

  # Whether to clean the cache when the rule stops
  cleanCacheAtStop: false

source:
  ## Configurations for the global http data server for httppush source
  # HTTP data service ip
  httpServerIp: 0.0.0.0
  # HTTP data service port
  httpServerPort: 10081
  # httpServerTls:
  #    certfile: /var/https-server.crt
  #    keyfile: /var/https-server.key

store:
  #Type of store that will be used for keeping state of the application
  type: sqlite
  extStateType: sqlite
  redis:
    host: localhost
    port: 6379
    password: kuiper
    #Timeout in ms
    timeout: 1000
  sqlite:
    #Sqlite file name, if left empty name of db will be sqliteKV.db
    name:

# The settings for portable plugin
portable:
  # The executable of python. Specify this if you have multiple python instances in your system
  # or other circumstance where the python executable cannot be successfully invoked through the default command.
  pythonBin: python
  # control init timeout in ms. If the init time is longer than this value, the plugin will be terminated.
  initTimeout: 5000

怎么样关闭,怎么样认为是自动开启。版本跟截图也不一样。建议升级到v2.1 或者 v2.2

手动关闭

没做任何操作,刷新页面后


又变回运行了

看一下运行状态


这是日志

规则自身配置了自动重启

需要在哪查看和修改呢

所有规则都会自动重启

查文档,用REST API 拿到你目前的规则定义,options里有restartStrategy 定义。你也可以新建一个规则,看看是否也有同样问题。

新建的规则也会

attempts已经是0了