Scheduler       Erste Seite

  API       XML       Register       Software- und Organisations-Service GmbH


Order - Programmschnittstelle (API)

JavaJavaScriptVBScriptPerlJavadoc
   

Order  –  Auftrag

 

void order.set_id( String ) Kennung des Auftrags
String   order.id()
 
void order.set_job( job_or_name ) Job, der dem Zustand des Auftrags entspricht.
Job   order.job() Job, der dem Zustand des Auftrags entspricht.
 
Job_chain   order.job_chain() Jobkette, in der der Auftrag enthalten ist
 
Job_chain_node   order.job_chain_node() Jobkettenknoten, der dem Zustand des Auftrags entspricht
 
void order.set_params( Variable_set ) Parameter des Auftrags
Variable_set   order.params()
 
void order.set_payload( payload ) Nutzlast, also Parameter des Auftrags.
Object   order.payload()
 
boolean   order.payload_is_type( type_name ) Prüft den COM-Typ der Nutzlast
 
void order.set_priority( int ) Aufträge mit höherer Priorität werden zuerst verarbeitet
int   order.priority()
 
void order.remove_from_job_chain()
 
Run_time   order.run_time() <run_time> zur periodischen Wiederholung des Auftrags
 
void order.setback() Stellt den Auftrag eine Zeit lang zurück
 
void order.set_state( String ) Zustand des Auftrags
String   order.state()
 
void order.set_state_text( String ) Freier Text für den Zustand des Auftrags
String   order.state_text()
 
String   order.string_next_start_time() Nächste Startzeit des Auftrags bei Verwendung von <run_time>
 
void order.set_title( String ) Der Titel ist ein Klartext, der den Auftrag bezeichnet
String   order.title()
 
Web_service   order.web_service() Der Webdienst, der dem Auftrag zugeordnet ist
 
Web_service_operation   order.web_service_operation() Die Web-Dienst-Operation, die dem Auftrag zugeordnet ist
 
Web_service_operation   order.web_service_operation_or_null() Die Web-Dienst-Operation, die dem Auftrag zugeordnet ist, oder null
 
Web_service   order.web_service_or_null() Der Web-Dienst, der dem Auftrag zugeordnet ist, oder null.
 
String   order.xml() Auftrag in XML: <order>...</order>
 
void order.set_xml_payload( xml ) XML-Nutzlast, also Parameter des Auftrags.
String   order.xml_payload()

Beispiel  Auftrag mit einfacher Nutzlast, in javascript

// Create order:
{
    var order = spooler.create_order();
    order.id         = 1234;
    order.title      = "This is my order";
    order.state_text = "This is my state text";
    order.payload    = "This is my payload";
    spooler.job_chain( "my_job_chain" ).add_order( order );
}
...

// Process order:
function spooler_process()
{
    var order = spooler_task.order;
    spooler_log.info( "order.payload=" + order.payload );
    return true;
}

Beispiel  Erzeugen eines Auftrags mit Variable_set als Nutzlast, in javascript

// Create order:
{
    var variable_set = spooler.create_variable_set();
    variable_set.value( "param_one" ) = "11111";
    variable_set.value( "param_two" ) = "22222";

    var order = spooler.create_order();
    order.id      = 1234;
    order.payload = variable_set;
    spooler.job_chain( "my_job_chain" ).add_order( order );
}
...

// Process order:
function spooler_process()
{
    var order = spooler_task.order;
    var variable_set = order.payload;
    spooler_log.info( "param_one=" + variable_set.value( "param_one" ) );
    spooler_log.info( "param_two=" + variable_set.value( "param_two" ) );
    return true;
}

 

Siehe Aufträge, Spooler.create_order(), Job_chain.add_order(), Task.order.

 

id

Kennung des Auftrags

 

void order.set_id( String )
String   order.id()

 

Jeder Auftrag hat eine (innerhalb der Jobkette oder der Auftragswarteschlange des Jobs eindeutige) Kennung. Diese Kennung sollte den zu verarbeitenden Daten entsprechen. Üblicherweise wird der Schlüssel eines Datenbanksatzes verwendet.

Wenn Sie die id nicht setzen, vergibt Job_chain.add_order() eine Kennung.

Parameter

VARIANT

job

Job, der dem Zustand des Auftrags entspricht.

 

void order.set_job( Job|String job_or_name )
Job   order.job()

 

Sie können den Job auch direkt setzen. Dann stellt der Scheduler den Zustand des Auftrags auf den Zustand des Jobs in der Jobkette ein. In der Regel wird man aber Order.state verwenden.

Parameter

job_or_name

Rückgabe

Job   null, wenn der Auftrag nicht in einer Jobkette oder der Zustand ein Endzustand ist.

job_chain

Jobkette, in der der Auftrag enthalten ist

 

Job_chain   order.job_chain()

Rückgabe

Job_chain  

job_chain_node

Jobkettenknoten, der dem Zustand des Auftrags entspricht

 

Job_chain_node   order.job_chain_node()

Rückgabe

Job_chain_node  

params

Parameter des Auftrags

 

void order.set_params( Variable_set )
Variable_set   order.params()

 

Siehe <add_order><params>.

Parameter

Variable_set

Rückgabe

Variable_set  

payload

Nutzlast, also Parameter des Auftrags.

 

void order.set_payload( Object payload )
Object   order.payload()

 

Statt dieser Eigenschaft wird die Verwendung von Order.params empfohlen (was (Variable_set)order.payload entspricht).

Neben der Auftragskennung Order.id, die den Auftrag identifiziert, können Sie hier zusätzliche Angaben machen.

Siehe Order.params und Order.xml_payload.

Parameter

payload Kann ein String oder ein Variable_set sein.

Rückgabe

Variable_set|String|int|   Kann ein String oder ein Variable_set sein.

payload_is_type

Prüft den COM-Typ der Nutzlast

 

boolean   order.payload_is_type( String type_name )

Parameter

type_name "Spooler.Variable_set", "Hostware.Dyn_obj" oder "Hostware.Record".

priority

Aufträge mit höherer Priorität werden zuerst verarbeitet

 

void order.set_priority( int )
int   order.priority()

Parameter

int

remove_from_job_chain

 

void order.remove_from_job_chain()

 

Wenn der Auftrag gerade von einer Task ausgeführt wird, liefert die Eigenschaft Order.job_chain weiterhin die Jobkette, aus der der Auftrag gerade entfernt wird. Erst wenn die Ausführung beendet ist, liefert die Eigenschaft null (außer der Auftrag ist wieder in eine Jobkette eingetragen worden). Damit bleibt die Eigenschaft job_chain während der Ausführung durch die Task stabil.

run_time

<run_time> zur periodischen Wiederholung des Auftrags

 

Run_time   order.run_time()

 

Siehe <run_time>.

Rückgabe

Run_time  

setback

Stellt den Auftrag eine Zeit lang zurück

 

void order.setback()

 

Der Auftrag wird zurückgestellt und nach der mit <delay_order_after_setback> oder Job.delay_order_after_setback eingestellten Frist wiederholt. Die Rückgabe von spooler_process() bleibt ohne Wirkung.

state

Zustand des Auftrags

 

void order.set_state( String )
String   order.state()

 

Wenn der Auftrag in einer Jobkette ist, muss der Zustand in der Jobkette vorhanden sein.

Während der Ausführung des Auftrags durch einen Job macht die Änderung des Zustands den in der Jobkette festgelegten Folgezustand (<job_chain_node>) wirkungslos. Ebenso sind dann die Rückgabewerte von spooler_process() und Monitor_impl.spooler_process_after() ohne Bedeutung.

Der Auftrag wird in die Auftragswarteschlange des Jobs eingereiht, der dem Zustand zugeordnet ist (s. <job_chain_node>). Die Ausführung durch diesen Job wird solange verzögert, bis der jetzt ausführende Job den Auftrag ausgeführt hat.

Parameter

VARIANT

state_text

Freier Text für den Zustand des Auftrags

 

void order.set_state_text( String )
String   order.state_text()

 

Der Text wird auf der HTML-Oberfläche gezeigt.

Parameter

BSTR

string_next_start_time

Nächste Startzeit des Auftrags bei Verwendung von <run_time>

 

String   order.string_next_start_time()

Rückgabe

String   "yyyy-mm-dd HH:MM:SS.MMM" oder "now" oder "never".

title

Der Titel ist ein Klartext, der den Auftrag bezeichnet

 

void order.set_title( String )
String   order.title()

Parameter

BSTR

web_service

Der Webdienst, der dem Auftrag zugeordnet ist

 

Web_service   order.web_service()

 

Wenn der Auftrag keinem Webdienst zugeordnet ist, liefert der Aufruf den Fehler SCHEDULER-240.

Siehe auch Order.web_service_or_null.

Rückgabe

Web_service  

web_service_operation

Die Web-Dienst-Operation, die dem Auftrag zugeordnet ist

 

Web_service_operation   order.web_service_operation()

Beispiel  

public boolean spooler_process()  throws Exception
{
    Order                 order                 = spooler_task.order();
    Web_service_operation web_service_operation = order.web_service_operation();
    Web_service_request   request               = web_service_operation.request();

    // Decode request data
    String request_string = new String( request.binary_content(), request.charset_name() );
    
    
    process request_string ...;
    
    
    String                response_string = "This is my response";
    String                charset_name    = "UTF-8";
    ByteArrayOutputStream byos            = new ByteArrayOutputStream();
    
    // Encode response data
    Writer writer = new OutputStreamWriter( byos, charset_name );
    writer.write( response_string );
    writer.close();

    // Respond
    Web_service_response response = web_service_operation.response();

    response.set_content_type( "text/plain" );
    response.set_charset_name( charset_name );
    response.set_binary_content( byos.toByteArray() );
    response.send();

    // Web service operation has finished

    return true;
}

 

Siehe <web_service>, Web_service_operation und Order.web_service_operation_or_null,

Rückgabe

Web_service_operation  

Exceptions

SCHEDULER-246Order does not belong to a web service operation 

web_service_operation_or_null

Die Web-Dienst-Operation, die dem Auftrag zugeordnet ist, oder null

 

Web_service_operation   order.web_service_operation_or_null()

 

Siehe Order.web_service_operation, Web_service_operation und <web_service>.

Rückgabe

Web_service_operation  

web_service_or_null

Der Web-Dienst, der dem Auftrag zugeordnet ist, oder null.

 

Web_service   order.web_service_or_null()

 

Siehe auch Order.web_service.

Rückgabe

Web_service  

xml

Auftrag in XML: <order>...</order>

 

String   order.xml()

Rückgabe

String   Siehe <order>

xml_payload

XML-Nutzlast, also Parameter des Auftrags.

 

void order.set_xml_payload( String xml )
String   order.xml_payload()

 

Zusätzlich zur Eigenschaft Order.params kann diese Eigenschaft ein XML-Dokument aufnehmen.

<xml_payload> enthält das Wurzelelement des XML-Dokuments (statt in #PCDATA-codierter Form).

Parameter

xml

Scheduler       Erste Seite

  API       XML       Register       Zuletzt geändert von Joacim Zschimmer, 2006-05-19 15:12:51 +0200