Просмотр исходного кода

Allow Multiple Jobs to Be Deleted at One Time

own3mall 7 лет назад
Родитель
Сommit
5bd4a86035
1 измененных файлов с 4 добавлено и 3 удалено
  1. 4 3
      ogp_agent.pl

+ 4 - 3
ogp_agent.pl

@@ -3593,6 +3593,7 @@ sub scheduler_del_task
 {
 {
 	return "Bad Encryption Key" unless(decrypt_param(pop(@_)) eq "Encryption checking OK");
 	return "Bad Encryption Key" unless(decrypt_param(pop(@_)) eq "Encryption checking OK");
 	my $name = decrypt_param(@_);
 	my $name = decrypt_param(@_);
+	my @cronJobIDs = split(',', $name);
 	if( scheduler_read_tasks() == -1 )
 	if( scheduler_read_tasks() == -1 )
 	{
 	{
 		return -1;
 		return -1;
@@ -3601,7 +3602,7 @@ sub scheduler_del_task
 	if(open(TASKS, '>', SCHED_TASKS))
 	if(open(TASKS, '>', SCHED_TASKS))
 	{
 	{
 		foreach my $task ( @entries ) {
 		foreach my $task ( @entries ) {
-			next if $task->{args}[0] eq $name;
+			next if ( grep { $_ eq $task->{args}[0]} @cronJobIDs );
 			next unless $task->{args}[0] =~ /task_[0-9]*/;
 			next unless $task->{args}[0] =~ /task_[0-9]*/;
 			if(defined $task->{args}[1])
 			if(defined $task->{args}[1])
 			{
 			{
@@ -3626,7 +3627,7 @@ sub scheduler_del_task
 		$cron->run( {detach=>1, pid_file=>SCHED_PID} );
 		$cron->run( {detach=>1, pid_file=>SCHED_PID} );
 		return 1;
 		return 1;
 	}
 	}
-	logger "Cannot open file " . SCHED_TASKS . " for deleting task id: $name ( $! )",1;
+	logger "Cannot open file " . SCHED_TASKS . " for deleting task(s) id: $name ( $! )",1;
 	return -1;
 	return -1;
 }
 }
 
 
@@ -4309,4 +4310,4 @@ sub get_workshop_mods_info()
 	}
 	}
 	
 	
 	return -1;
 	return -1;
-}
+}