@name 获取启动的命令 @author lkq<2021-08-27> @param project_jar 项目jar路径 @param port 项目端口号 @param project_jdk 项目JDK
(self, get)
| 2723 | ) |
| 2724 | |
| 2725 | def return_cmd(self, get): |
| 2726 | ''' |
| 2727 | @name 获取启动的命令 |
| 2728 | @author lkq<2021-08-27> |
| 2729 | @param project_jar 项目jar路径 |
| 2730 | @param port 项目端口号 |
| 2731 | @param project_jdk 项目JDK |
| 2732 | ''' |
| 2733 | if 'project_cmd' not in get or not get.project_cmd.strip(): |
| 2734 | return self.send_cmd(get) |
| 2735 | else: |
| 2736 | if not get.project_cmd: |
| 2737 | return self.send_cmd(get) |
| 2738 | # 修改port |
| 2739 | project_find = self.get_project_find(get.project_name) |
| 2740 | if not project_find: |
| 2741 | return self.send_cmd(get) |
| 2742 | project_cmd = get.project_cmd.strip() |
| 2743 | cmd_type = int(get.type) |
| 2744 | jmx_cmd = "" |
| 2745 | if hasattr(get, 'jmx_status'): |
| 2746 | project_find['project_config']['jmx_status'] = get.jmx_status |
| 2747 | if get.jmx_status: |
| 2748 | jmx_port = self.generate_random_port() |
| 2749 | jmx_cmd = "-Dcom.sun.management.jmxremote.port={} -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=127.0.0.1".format( |
| 2750 | jmx_port |
| 2751 | ) |
| 2752 | jmx_url = "service:jmx:rmi:///jndi/rmi://127.0.0.1:{}/jmxrmi".format(jmx_port) |
| 2753 | project_find['project_config']['jmx_status'] = get.jmx_status |
| 2754 | project_find['project_config']['jmx_info'] = { |
| 2755 | "jmx_url": jmx_url, |
| 2756 | "username": "", |
| 2757 | "password": "", |
| 2758 | } |
| 2759 | |
| 2760 | if cmd_type == 1: |
| 2761 | old_port = str(project_find['project_config']['port']).strip() |
| 2762 | if old_port: |
| 2763 | project_cmd = project_find['project_config']['project_cmd'].replace(old_port, str(get.port)) |
| 2764 | else: |
| 2765 | res = self.send_cmd(get) |
| 2766 | if not res["status"]: |
| 2767 | return res |
| 2768 | else: |
| 2769 | project_cmd = res["msg"] |
| 2770 | |
| 2771 | project_find['project_config']['project_cmd'] = project_cmd |
| 2772 | project_find['project_config']['port'] = get.port |
| 2773 | project_find['project_config']['project_jdk'] = get.project_jdk.strip() |
| 2774 | pdata = { |
| 2775 | 'name': get.project_name.strip(), |
| 2776 | 'project_config': json.dumps(project_find['project_config']) |
| 2777 | } |
| 2778 | public.M('sites').where('name=?', (get.project_name,)).update(pdata) |
| 2779 | return public.returnMsg(True, project_cmd) |
| 2780 | if cmd_type == 2: |
| 2781 | if 'project_jdk' in project_find['project_config']: |
| 2782 | project_cmd = project_find['project_config']['project_cmd'].replace( |
nothing calls this directly
no test coverage detected