Files
electron-egg/electron/service/cross.js
gaoshuaixing 9e66a51607 ignore python
2024-03-04 17:17:54 +08:00

104 lines
3.0 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use strict';
const { Service } = require('ee-core');
const Cross = require('ee-core/cross');
const Log = require('ee-core/log');
const Ps = require('ee-core/ps');
const path = require("path");
const Is = require('ee-core/utils/is');
/**
* crossservice层为单例
* @class
*/
class CrossService extends Service {
constructor(ctx) {
super(ctx);
}
/**
* create go service
* In the default configuration, services can be started with applications.
* Developers can turn off the configuration and create it manually.
*/
async createGoServer() {
// method 1: Use the default Settings
//const entity = await Cross.run(serviceName);
// method 2: Use custom configuration
const serviceName = "go";
const opt = {
name: 'goapp',
cmd: path.join(Ps.getExtraResourcesDir(), 'goapp'),
directory: Ps.getExtraResourcesDir(),
args: ['--port=7073'],
appExit: true,
}
const entity = await Cross.run(serviceName, opt);
Log.info('server name:', entity.name);
Log.info('server config:', entity.config);
Log.info('server url:', entity.getUrl());
return;
}
/**
* create java server
*/
async createJavaServer() {
const serviceName = "java";
const jarPath = path.join(Ps.getExtraResourcesDir(), 'java-app.jar');
const opt = {
name: 'javaapp',
cmd: path.join(Ps.getExtraResourcesDir(), 'jre1.8.0_201/bin/javaw.exe'),
directory: Ps.getExtraResourcesDir(),
args: ['-jar', '-server', '-Xms512M', '-Xmx512M', '-Xss512k', '-Dspring.profiles.active=prod', `-Dserver.port=18080`, `-Dlogging.file.path=${Ps.getLogDir()}`, `${jarPath}`],
appExit: false,
}
if (Is.macOS()) {
// Setup Java program
opt.cmd = path.join(Ps.getExtraResourcesDir(), 'jre1.8.0_201/Contents/Home/bin/java');
}
if (Is.linux()) {
// Setup Java program
}
const entity = await Cross.run(serviceName, opt);
Log.info('server name:', entity.name);
Log.info('server config:', entity.config);
Log.info('server url:', Cross.getUrl(entity.name));
return;
}
/**
* create python service
* In the default configuration, services can be started with applications.
* Developers can turn off the configuration and create it manually.
*/
async createPythonServer() {
// method 1: Use the default Settings
//const entity = await Cross.run(serviceName);
// method 2: Use custom configuration
const serviceName = "python";
const opt = {
name: 'pyapp',
cmd: path.join(Ps.getExtraResourcesDir(), 'py', 'pyapp'),
directory: path.join(Ps.getExtraResourcesDir(), 'py'),
args: ['--port=7074'],
windowsExtname: true,
appExit: true,
}
const entity = await Cross.run(serviceName, opt);
Log.info('server name:', entity.name);
Log.info('server config:', entity.config);
Log.info('server url:', entity.getUrl());
return;
}
}
CrossService.toString = () => '[class CrossService]';
module.exports = CrossService;