доработка остановки сервера, добавлен проход запроса активности сервера, перед созданием файла interrupt
This commit is contained in:
12
.idea/workspace.xml
generated
12
.idea/workspace.xml
generated
@@ -7,16 +7,14 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StopTestingServer.java" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PingTestingServer.java" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TestingServerSSHPass.java" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/src/icons/Stop25.png" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Constants.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/GlobalProperties.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/GlobalProperties.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingBar.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingBar.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StopTestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShutdownTestingServer.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TestingServerSSHPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/TestingServerSSHPass.java" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
"PerformanceAnalyzerPath": "",
|
"PerformanceAnalyzerPath": "",
|
||||||
"ComponentsBackUpsCount": 10,
|
"ComponentsBackUpsCount": 10,
|
||||||
"TestingKernels": 16,
|
"TestingKernels": 16,
|
||||||
"AutoCheckTesting": true,
|
"AutoCheckTesting": false,
|
||||||
"CheckTestingIntervalSeconds": 10,
|
"CheckTestingIntervalSeconds": 10,
|
||||||
"EmailOnTestingProgress": false,
|
"EmailOnTestingProgress": false,
|
||||||
"eraseTestingWorkspaces": true
|
"eraseTestingWorkspaces": true
|
||||||
|
|||||||
@@ -277,6 +277,10 @@ public abstract class RepositoryServer<D extends Database> {
|
|||||||
Print("ЗАВЕРШИТЬ РАБОТУ СЕРВЕРА");
|
Print("ЗАВЕРШИТЬ РАБОТУ СЕРВЕРА");
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
break;
|
break;
|
||||||
|
case Ping:
|
||||||
|
Print("Проверка активности сервера");
|
||||||
|
Ping();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Session();
|
Session();
|
||||||
break;
|
break;
|
||||||
@@ -362,4 +366,7 @@ public abstract class RepositoryServer<D extends Database> {
|
|||||||
}
|
}
|
||||||
public void afterDeleteAction(DBObject object) throws Exception {
|
public void afterDeleteAction(DBObject object) throws Exception {
|
||||||
}
|
}
|
||||||
|
public void Ping(){
|
||||||
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,5 +81,7 @@ public enum ServerCode {
|
|||||||
ReplaceTestsCodes,
|
ReplaceTestsCodes,
|
||||||
GetDVMPackagesJson,
|
GetDVMPackagesJson,
|
||||||
GetSapforPackagesJson,
|
GetSapforPackagesJson,
|
||||||
GetFirstsActiveDVMPackages;
|
GetFirstsActiveDVMPackages,
|
||||||
|
Ping
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import Common.UI.Menus_2023.VisualiserMenuBar;
|
|||||||
import Common.UI.Themes.VisualiserFonts;
|
import Common.UI.Themes.VisualiserFonts;
|
||||||
import Common.UI.UI;
|
import Common.UI.UI;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import TestingSystem.Common.TestingServer;
|
|
||||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -85,7 +84,8 @@ public class TestingBar extends VisualiserMenuBar {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
addSeparator();
|
addSeparator();
|
||||||
addPasses(PassCode_2021.StopTestingServer);
|
addLabel(" управление сервером ");
|
||||||
|
addPasses(PassCode_2021.ShutdownTestingServer);
|
||||||
}
|
}
|
||||||
public void ShowAutoCheckTesting() {
|
public void ShowAutoCheckTesting() {
|
||||||
autorefreshButton.setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png"));
|
autorefreshButton.setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png"));
|
||||||
|
|||||||
21
src/Visual_DVM_2021/Passes/All/PingTestingServer.java
Normal file
21
src/Visual_DVM_2021/Passes/All/PingTestingServer.java
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
package Visual_DVM_2021.Passes.All;
|
||||||
|
import Repository.Server.ServerCode;
|
||||||
|
import Repository.Server.ServerExchangeUnit_2021;
|
||||||
|
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||||
|
public class PingTestingServer extends TestingSystemPass {
|
||||||
|
boolean flag;
|
||||||
|
@Override
|
||||||
|
protected boolean canStart(Object... args) throws Exception {
|
||||||
|
flag=false;
|
||||||
|
return super.canStart(args);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
Command(new ServerExchangeUnit_2021(ServerCode.Ping));
|
||||||
|
flag=true;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected boolean validate() {
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
src/Visual_DVM_2021/Passes/All/ShutdownTestingServer.java
Normal file
21
src/Visual_DVM_2021/Passes/All/ShutdownTestingServer.java
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
package Visual_DVM_2021.Passes.All;
|
||||||
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||||
|
import Visual_DVM_2021.Passes.SSH.TestingServerSSHPass;
|
||||||
|
public class ShutdownTestingServer extends TestingServerSSHPass {
|
||||||
|
@Override
|
||||||
|
public String getIconPath() {
|
||||||
|
return "/icons/Stop25.png";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getButtonText() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected boolean canStart(Object... args) throws Exception {
|
||||||
|
return passes.get(PassCode_2021.PingTestingServer).Do();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
Shutdown();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
package Visual_DVM_2021.Passes.All;
|
|
||||||
import Common.Constants;
|
|
||||||
import Common.Current;
|
|
||||||
import Common.UI.UI;
|
|
||||||
import Common.Utils.Utils;
|
|
||||||
import GlobalData.RemoteFile.RemoteFile;
|
|
||||||
import Visual_DVM_2021.Passes.SSH.TestingServerSSHPass;
|
|
||||||
import com.jcraft.jsch.ChannelSftp;
|
|
||||||
import com.sun.corba.se.spi.orbutil.threadpool.Work;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Vector;
|
|
||||||
public class StopTestingServer extends TestingServerSSHPass {
|
|
||||||
@Override
|
|
||||||
public String getIconPath() {
|
|
||||||
return "/icons/Stop25.png";
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public String getButtonText() {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
protected void ServerAction() throws Exception {
|
|
||||||
RemoteFile Home = new RemoteFile(user.connection.sftpChannel.getHome(), true);
|
|
||||||
RemoteFile Workspace = new RemoteFile(Home, Constants.testingSystemHomeName);
|
|
||||||
//--
|
|
||||||
RemoteFile INTERRUPT = new RemoteFile(Workspace, Constants.INTERRUPT);
|
|
||||||
RemoteFile ABORTED = new RemoteFile(Workspace, Constants.ABORTED);
|
|
||||||
|
|
||||||
//--
|
|
||||||
System.out.println("Home="+Utils.Brackets(Home.full_name));
|
|
||||||
System.out.println("Workspace="+Utils.Brackets(Workspace.full_name));
|
|
||||||
|
|
||||||
ShowMessage1("Создание файла INTERRUPT..");
|
|
||||||
user.connection.writeToFile("+", INTERRUPT);
|
|
||||||
ShowMessage1("Ожидание остановки сервера тестирования");
|
|
||||||
do {
|
|
||||||
Utils.sleep(1000);
|
|
||||||
ShowMessage2("Проверка признака остановки..");
|
|
||||||
} while (!user.connection.Exists(ABORTED));
|
|
||||||
//--
|
|
||||||
RemoteFile AbortLog = new RemoteFile(Workspace, Constants.ABORTED+
|
|
||||||
"_by_"+
|
|
||||||
Current.getAccount().email+
|
|
||||||
"_"+
|
|
||||||
new Date().toString()
|
|
||||||
);
|
|
||||||
user.connection.writeToFile("+", AbortLog);
|
|
||||||
user.connection.sftpChannel.rename(ABORTED.full_name, AbortLog.full_name);
|
|
||||||
System.out.println("Done");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -323,13 +323,16 @@ public enum PassCode_2021 {
|
|||||||
CompareSapforPackages,
|
CompareSapforPackages,
|
||||||
CreateDVMPackageFromCurrentProject,
|
CreateDVMPackageFromCurrentProject,
|
||||||
//--
|
//--
|
||||||
StopTestingServer
|
PingTestingServer,
|
||||||
|
ShutdownTestingServer
|
||||||
;
|
;
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case Undefined:
|
case Undefined:
|
||||||
return "?";
|
return "?";
|
||||||
case StopTestingServer:
|
case PingTestingServer:
|
||||||
|
return "Проверить активность тестового сервера";
|
||||||
|
case ShutdownTestingServer:
|
||||||
return "Остановить серверный компонент тестирования";
|
return "Остановить серверный компонент тестирования";
|
||||||
case CreateDVMPackageFromCurrentProject:
|
case CreateDVMPackageFromCurrentProject:
|
||||||
return "Тестировать текущий проект";
|
return "Тестировать текущий проект";
|
||||||
|
|||||||
@@ -1,18 +1,59 @@
|
|||||||
package Visual_DVM_2021.Passes.SSH;
|
package Visual_DVM_2021.Passes.SSH;
|
||||||
|
import Common.Constants;
|
||||||
import Common.Current;
|
import Common.Current;
|
||||||
import Common.Global;
|
import Common.Global;
|
||||||
|
import Common.Utils.Utils;
|
||||||
import GlobalData.Machine.Machine;
|
import GlobalData.Machine.Machine;
|
||||||
import GlobalData.Machine.MachineType;
|
import GlobalData.Machine.MachineType;
|
||||||
|
import GlobalData.RemoteFile.RemoteFile;
|
||||||
import GlobalData.User.User;
|
import GlobalData.User.User;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
public class TestingServerSSHPass extends ConnectionPass {
|
public class TestingServerSSHPass extends ConnectionPass {
|
||||||
|
protected RemoteFile userHome;
|
||||||
|
protected RemoteFile testingHome;
|
||||||
@Override
|
@Override
|
||||||
protected boolean needsAnimation() {
|
protected boolean needsAnimation() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void Connect() throws Exception {
|
public void Connect() throws Exception {
|
||||||
|
userHome =null;
|
||||||
|
testingHome =null;
|
||||||
|
//--
|
||||||
machine = new Machine("alex", Global.properties.ServerAddress,Global.properties.ServerUserSHHPort,MachineType.Server);
|
machine = new Machine("alex", Global.properties.ServerAddress,Global.properties.ServerUserSHHPort,MachineType.Server);
|
||||||
user = new User(Global.properties.ServerUserName, "mprit_2011");
|
user = new User(Global.properties.ServerUserName, "mprit_2011");
|
||||||
super.Connect();
|
super.Connect();
|
||||||
|
//--
|
||||||
|
userHome = new RemoteFile(user.connection.sftpChannel.getHome(), true);
|
||||||
|
testingHome = new RemoteFile(userHome, Constants.testingSystemHomeName);
|
||||||
|
//-
|
||||||
|
System.out.println("userHome="+ Utils.Brackets(userHome.full_name));
|
||||||
|
System.out.println("testingHome="+Utils.Brackets(testingHome.full_name));
|
||||||
|
}
|
||||||
|
//--
|
||||||
|
protected void Shutdown() throws Exception{
|
||||||
|
//--
|
||||||
|
RemoteFile INTERRUPT = new RemoteFile(testingHome, Constants.INTERRUPT);
|
||||||
|
RemoteFile ABORTED = new RemoteFile(testingHome, Constants.ABORTED);
|
||||||
|
//--
|
||||||
|
ShowMessage1("Создание файла INTERRUPT..");
|
||||||
|
user.connection.writeToFile("+", INTERRUPT);
|
||||||
|
ShowMessage1("Ожидание остановки сервера тестирования");
|
||||||
|
do {
|
||||||
|
Utils.sleep(1000);
|
||||||
|
ShowMessage2("Проверка признака остановки..");
|
||||||
|
} while (!user.connection.Exists(ABORTED));
|
||||||
|
//--
|
||||||
|
ShowMessage2("");
|
||||||
|
ShowMessage1("Журнализация");
|
||||||
|
RemoteFile AbortLog = new RemoteFile(testingHome, Constants.ABORTED+
|
||||||
|
"_by_"+
|
||||||
|
Current.getAccount().email+
|
||||||
|
"_"+
|
||||||
|
new Date().toString()
|
||||||
|
);
|
||||||
|
user.connection.sftpChannel.rename(ABORTED.full_name, AbortLog.full_name);
|
||||||
|
System.out.println("Done");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user