cross.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. "use strict";
  2. import { logger } from "ee-core/log";
  3. import { getExtraResourcesDir, getLogDir } from "ee-core/ps";
  4. import { join } from "path";
  5. import { is } from "ee-core/utils";
  6. import { cross } from "ee-core/cross";
  7. /**
  8. * cross
  9. * @class
  10. */
  11. class CrossService {
  12. info() {
  13. const pids = cross.getPids();
  14. logger.info("cross pids:", pids);
  15. let num = 1;
  16. pids.forEach((pid) => {
  17. let entity = cross.getProc(pid);
  18. logger.info(`server-${num} name:${entity.name}`);
  19. logger.info(`server-${num} config:`, entity.config);
  20. num++;
  21. });
  22. return "hello electron-egg";
  23. }
  24. getUrl(name) {
  25. const serverUrl = cross.getUrl(name);
  26. return serverUrl;
  27. }
  28. killServer(type, name) {
  29. if (type == "all") {
  30. cross.killAll();
  31. } else {
  32. cross.killByName(name);
  33. }
  34. }
  35. /**
  36. * create java server
  37. */
  38. createJavaServer() {
  39. const serviceName = "java";
  40. const jarPath = join(getExtraResourcesDir(), "server.jar");
  41. const opt = {
  42. name: "javaapp",
  43. cmd: join(getExtraResourcesDir(), "jre25/bin/javaw.exe"),
  44. directory: getExtraResourcesDir(),
  45. args: [
  46. "-jar",
  47. "-server",
  48. "-Xms128M",
  49. "-Xmx512M",
  50. `${jarPath}`,
  51. ],
  52. appExit: false,
  53. };
  54. if (is.macOS()) {
  55. // Setup Java program
  56. opt.cmd = join(
  57. getExtraResourcesDir(),
  58. "jre1.8.0_201.jre/Contents/Home/bin/java",
  59. );
  60. }
  61. if (is.linux()) {
  62. // Setup Java program
  63. }
  64. cross.run(serviceName, opt).then((entity) => {
  65. logger.info("server name:", entity.name);
  66. logger.info("server config:", entity.config);
  67. logger.info("server url:", cross.getUrl(entity.name));
  68. });
  69. return;
  70. }
  71. }
  72. CrossService.toString = () => "[class CrossService]";
  73. export default {
  74. CrossService,
  75. crossService: new CrossService(),
  76. };