介绍
跨语言服务模块。
使用方法
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
