Prechádzať zdrojové kódy

Added Delete Job By Home ID for When Server Is Deleted

own3mall 7 rokov pred
rodič
commit
ae39d598d8
1 zmenil súbory, kde vykonal 22 pridanie a 0 odobranie
  1. 22 0
      modules/cron/shared_cron_functions.php

+ 22 - 0
modules/cron/shared_cron_functions.php

@@ -116,6 +116,28 @@ function updateCronJobTokens($old_token, $token){
 	}
 }
 
+function deleteJobsByHomeServerID($home_id){
+	global $db;
+	$homeInfo = $db->getGameHome($home_id);
+	if($homeInfo){
+		$remote_servers = $db->getRemoteServers();
+		foreach($remote_servers as $remote_server)
+		{
+			$remote = new OGPRemoteLibrary($remote_server['agent_ip'], $remote_server['agent_port'], $remote_server['encryption_key'], $remote_server['timeout']);
+			$jobs = $remote->scheduler_list_tasks();
+			foreach($jobs as $job_id => $job)
+			{
+				if(strstr($job, "homeid=" . $home_id))
+				{
+					$remote->scheduler_del_task($job_id);
+				}else if(strstr($job, "ip=" . $homeInfo["ip"]) && strstr($job, "port=" . $homeInfo["port"])){
+					$remote->scheduler_del_task($job_id);
+				}
+			}
+		}
+	}
+}
+
 function get_action_selector($action = false, $server_homes = false, $homeid_ip_port = false) {
 	$server_actions = array('restart','stop','start');
 	if($server_homes and $homeid_ip_port)