2016-07-20 9 views
0

Ich habe Zeitplandaten von Repeating Service. Wie kann ich das Format als benutzerfreundliche Methode analysieren? Dies ist das Beispielzeitplanformat. 0 13? * MON * Bitte lassen Sie mich wissen, wie ich die Definition des Zeitplan-Format bekommen kann.Schedule Datenformat für AutoScale

Vielen Dank.

  Repeating.Service rService = Repeating.service(client, trigger.getId()); 
      Repeating repeat = rService.getObjectForRepeating(); 

      System.out.println("repeat schedule : " + repeat.getSchedule()); 

Antwort

0

Das Format des Zeitplanattributs ist im Cron-Format.

Zeitplan Attribut:

Der Cron-Format Zeitplan. Dies wird in der UTC-Zeitzone ausgeführt. Erforderlich für erstellen Typ: Zeichenfolge

Das nächste Java-Skript könnte Ihnen helfen.

/** 
* This script retrieves the Repeating trigger policies for a SoftLayer_Scale_Policy, then 
* it gets the schedule attribute and parses the value (Cron format) to human readable format. 
* 
* Important manual pages: 
* @see http://sldn.softlayer.com/reference/services/SoftLayer_Scale_Policy/getRepeatingTriggers 
* @see http://sldn.softlayer.com/reference/datatypes/SoftLayer_Scale_Policy_Trigger_Repeating 
* 
* @license <http://sldn.softlayer.com/wiki/index.php/License> 
* @author SoftLayer Technologies, Inc. <[email protected]> 
*/ 
package SoftLayer_Java_Scripts.Examples; 

import com.softlayer.api.*; 
import com.softlayer.api.service.scale.Policy; 
import com.softlayer.api.service.scale.policy.trigger.Repeating; 

import java.util.Date; 
import java.util.List; 

import org.quartz.CronExpression; 

public class GetObjectScalePolicyTriggerRepeating 
{ 
    public static void main(String[] args) 
    { 
     // Fill with your valid data here. 
     String user = "set me"; 
     String apiKey = "set me"; 

     long scalePolicyId = 1234; 

     ApiClient client = new RestApiClient().withCredentials(user, apiKey); 

     Policy.Service service = Policy.service(client, scalePolicyId); 

     try 
     { 
     List<Repeating> result = service.getRepeatingTriggers(); 
     for(Repeating rep : result) { 
      String cronValue = rep.getSchedule(); 
      System.out.println("Original value: " + cronValue); 
      // Fixing format in order to display the schedule. 
      String patch = "* " + cronValue; 
      // Using the next library: http://www.quartz-scheduler.org/api/2.2.1/org/quartz/CronExpression.html 
      CronExpression cron = new CronExpression(patch); 
      // Returns the next date/time after the given date/time which satisfies the cron expression. 
      // (i.e. the next time it's going to be triggered) 
      System.out.println("Parsed value: " + cron.getNextValidTimeAfter(new Date())); 
     } 
     } 
     catch(Exception e) 
     { 
     System.out.println("Script failed, review the next message for further details: " + e); 
     } 
    } 
} 

Die nächsten Links enthalten Informationen über cron Format:

http://www.nncron.ru/help/EN/working/cron-format.htm

http://www.quartz-scheduler.org/api/2.2.1/org/quartz/CronExpression.html

+0

ich eine falsche Daten haben. : 0 14? * MON * : Mo Jul 25 00:14:00 KST 2016 Die Zeit ist 2 Uhr nachmittags, aber "cron.getNextValidTimeAfter (new Date()));" gibt 14 Minuten zurück. Ist das ein Problem? –

+0

Ich habe die nächste Zeile im Quelltext 'String patch =" * "+ cronValue;' hinzugefügt. Diese Linie ermöglicht es, das Ergebnis genau zu sehen. Trotzdem müssen Sie daran denken, dass das ** schedule ** -Attribut für Planungszwecke verwendet wird und die Bibliothek, die ich Ihnen vorgeschlagen habe, eine Bibliothek von Drittanbietern ist, so dass Sie möglicherweise mehr darüber lesen müssen, um dies zu tun weitere Umsetzung. –