Skip to content

介绍

跨语言服务模块。

使用方法

javascript
const { cross, Cross } = require('ee-core/cross');

API列表

run(service, opt = {})

  • service [String] - 服务名称,一般填写使用的语言
  • opt [Object] - 参数
    • name [String] - 程序进程名称
    • cmd [String] - 可执行程序路径,或本机的可执行命令
    • directory [String] - 程序目录,如jar文件所在目录
    • args [Array] - 可执行程序参数
    • appExit [Boolean] - 程序退出时,是否退出electron应用

创建服务(子)进程,返回cross进程对象。

kill(pid)

  • pid [Int] - 进程ID

kill进程。

killByName(name)

  • name [String] - 程序进程名称

通过name, kill进程。

killAll()

kill所有进程。

killByName(name)

  • name [String] - 程序进程名称

通过name, kill进程。

getUrl(name)

  • name [String] - 程序进程名称

程序服务地址。

getProcByName(name)

  • name [String] - 程序进程名称

通过name获取进程对象。

getProc(pid)

  • pid [Int] - 进程ID

通过pid获取进程对象。

getPids()

获取所有进程pid,返回数组。

crossProcess

entity.pid

进程pid。

entity.name

进程名称。

entity.config

进程配置,创建进程时的option对象。

entity.child

通过child_process模块,spawn出来的进程对象。

entity.port

如果子进程服务使用了端口,才有值。

entity.emitter

实例化后的EventEmitter模块对象。

  • 方法列表:
javascript
emitter.addListener(eventName, listener)
emitter.emit(eventName[, ...args])
emitter.eventNames()
emitter.getMaxListeners()
emitter.listenerCount(eventName)
emitter.listeners(eventName)
emitter.off(eventName, listener)
emitter.on(eventName, listener)
emitter.once(eventName, listener)
emitter.prependListener(eventName, listener)
emitter.prependOnceListener(eventName, listener)
emitter.removeAllListeners([eventName])
emitter.removeListener(eventName, listener)
emitter.setMaxListeners(n)
emitter.rawListeners(eventName)
emitter[Symbol.for('nodejs.rejection')](err, eventName[, ...args])

entity.kill(timeout)

  • name [int] - 延迟重试时间

kill进程。

entity.getUrl()

程序服务地址。

entity.getArgsObj()

以对象类型返回 opt.args