Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: mscgen-code corrected after conversion

Table of Contents
outlinh1. true
outlinh1. true
1printablefalse
2stylh1. none
3indent20px

Description of JobSchedulerExistsFile - check whether a file exists

Checks for the existence of a file, a directory or for specific files inside of a directory.

No Format

 <mscgen>

//file_order_event
msc {

No Format

 width1. "900";

JobScheduler label"JobScheduler", textcolouh1. "navy", arctextcolour"navy",

No Format

  JobChainPoll [labeh1. "JobChain Polling", textcolour"orange", arctextcolouh1. "orange"],
  OrderPoll [label"Order for Pollling", textcolouh1. "brown", arctextcolour"brown"], 
  FileSystem [labeh1. "File System", textcolour"maroon", arctextcolouh1. "maroon"],
  JobChainProcessing [label"JobChain Processing", textcolouh1. "orange", arctextcolour"orange"],
  OrderProcessing [labeh1. "Order for Processing", textcolour"brown", arctextcolouh1. "brown"];

JobScheduler> JobChainPoll labelh1. "(1) start order for file watching";

No Format

  JobScheduler .. FileSystem [label "waiting for files "];

OrderPollh1. > FileSystem label "(2) polling";

No Format

  FileSystemh1. > OrderPoll [label "(3) file arrived"];
  OrderPollh1. > JobChainProcessing [label "(4) create order for processing"];
  OrderProcessingh1. > OrderProcessing [label "(5) check for ready state"];

OrderProcessingh1. > JobChainProcessing label "(6) start node";

No Format

  
  OrderProcessingh1. > JobChainProcessing [label "(7) start next node(s)"];
  OrderProcessingh1. > JobChainProcessing [label "(8) end jobChain"];
  OrderProcessingh1. > JobChainProcessing [label "(9) process file sink"];
  JobChainProcessingh1. > FileSystem [label "(10) delete/move file"];
  JobScheduler .. FileSystem  [labelh1. "repeat waiting for files "];
   OrderPoll> FileSystem [labelh1. "(11) polling"];

}

 

</mscgen>
This job is creating a result set. A result set contain the names of all files which are selected as specified by the filter criteria. The content of the result set is returned as a parameter, but can be written to a file, too.
Parameters, which are useful for creating a result-set, are:

ParameterName

Title

raise_error_if_result_set_is

 

result_list_file

 

expected_size_of_result_set

 

on_empty_result_set

 

scheduler_sosfileoperations_resultset

 

scheduler_sosfileoperations_resultsetsize

 

An example for a job-xml file:

Code Block

  <job order='no' >
     <params>
       <param name="[[#file|file]]" value="." />
       <param name="[[#file_spec|file_spec]]" value="" />
       <param name="[[#gracious|gracious]]" value="false" />
       <param name="[[#max_file_age|max_file_age]]" value="0" />
       <param name="[[#min_file_age|min_file_age]]" value="0" />
       <param name="[[#max_file_size|max_file_size]]" value="-1" />
       <param name="[[#min_file_size|min_file_size]]" value="-1" />
       <param name="[[#skip_first_files|skip_first_files]]" value="0" />
       <param name="[[#skip_last_files|skip_last_files]]" value="0" />
       <param name="[[#count_files|count_files]]" value="false" />
       <param name="[[#create_order|create_order]]" value="false" />
       <param name="[[#create_orders_for_all_files|create_orders_for_all_files]]" value="false" />
       <param name="[[#order_jobchain_name|order_jobchain_name]]" value="" />
       <param name="[[#next_state|next_state]]" value="" />
       <param name="[[#on_empty_result_set|on_empty_result_set]]" value="empty" />
       <param name="[[#expected_size_of_result_set|expected_size_of_result_set]]" value="0" />
       <param name="[[#raise_error_if_result_set_is|raise_error_if_result_set_is]]" value="0" />
       <param name="[[#result_list_file|result_list_file]]" value="empty" />
     </params>
     <script language="java" java_class="sos.scheduler.file.JobSchedulerExistsFile" />
  </job>
 

...

Parameter used by JobSchedulerExistsFile

...

 

...

Name

 Name

title

mandatory

default

file

File or Folder to watch for

true

.

file_spec

Regular Expression for filename filtering

false

 

gracious

Specify error message tolerance

false

false

max_file_age

maximum age of a file

false

0

min_file_age

minimum age of a file

false

0

max_file_size

maximum size of a file

false

-1

min_file_size

minimum size of one or multiple files

false

-1

skip_first_files

number of files to remove from the top of the result-set

false

0

skip_last_files

number of files to remove from the bottom of the result-set

false

0

count_files

Return the size of resultset

false

false

create_order

Activate file-order creation

false

false

create_orders_for_all_files

Create a file-order for every file in the result-list

false

false

order_jobchain_name

The name of the jobchain which belongs to the order

false

 

next_state

The first node to execute in a jobchain

false

 

on_empty_result_set

Set next node on empty result set

false

empty

expected_size_of_result_set

number of expected hits in result-list

false

0

raise_error_if_result_set_is

raise error on expected size of result-set

false

0

result_list_file

Name of the result-list file

false

empty

 

Parameter

...

file

...

: File or Folder to watch for

...

File or Folder to watch for
Checked file or directory
Supports masks for substitution in the file name and directory name with format strings that are enclosed by {*} and {*} [and] . The following format strings are supported:

Code Block

 [date: date format ]  
 
 '''date format''' must be a valid Java data format string, e.g. '''yyyyMMddHHmmss''' , '''yyyy-MM-dd.HHmmss''' etc. 
 

An example:

Code Block

 <param name="file" value="sample/hello[date:yyyyMMdd].txt" />  
 

On 2050-12-31 the parameter file contains the value "sample/hello20501231.txt" .
This parameter supports substitution of job parameter names with their value if the job parameter name is enclosed by %  and  % .
An example: <param namh1. name="file" value"%scheduler_file_path%" />
During the job runtime the parameter file contains the value of the job parameter scheduler_file_path . Using Directory Monitoring with File Orders the job parameter scheduler_file_path contains automatically the path of the file that triggered the order.
Data-Type : SOSOptionString
The default value for this parameter is ..
This parameter is mandatory.

Parameter

...

file_spec

...

: Regular Expression for filename filtering

...

Regular Expression for filename filtering
Regular Expression for file filtering. The behaviour is CASE_INSENSITIVE.
Only effective if the parameter file is a directory.
Some remarks on regular expression, used in JobScheduler.
A regular expression is not a wildcard . To get an impression of the differences one have a look on the meaning of the wildcard .txt, which will select all filenames with the filename-extension ".txt". A regular expression to match, e.g. works the same way, this "wildcard" must look like "^.\.txt$". That looks a little bit strange but it is much more flexible and powerfull on filtering filenames than the concept of wildcards, if one want to filter more complex names or pattern.
The general syntax of an regular expression , also referred to as regex or regexp, is described here . It is different to other RegExp definitions, e.g. as for Perl.
Data-Type : SOSOptionRegExp

Parameter

...

gracious

...

: Specify error message tolerance

...

Specify error message tolerance
Enables or disables error messages that are caused by an empty result-set, which is the result of an operation, executed by the job. Therefore this parameter can control the sequence of nodes or states in a job-chain.
Valid values:

Code Block

 '''false, 0, off, no, n, nein, none''' , '''true, 1, on, yes, y, ja, j''' and '''all''' . 
 

...

For example, the setting "graciouh1. gracious=all" will suppress all errors regarding an empty result-set and will terminate a Job (standalone and inside a jobchain) as it would be without errors.
Data-Type : SOSOptionGracious
The default value for this parameter is false.

Parameter

...

max_file_age

...

: maximum age of a file

...

maximum age of a file
Specifies the maximum age of a file. If a file is older, then it is deemed not to exist, it will be not included in the result-list.
Data-Type : SOSOptionTime
The default value for this parameter is 0.

Parameter

...

min_file_age

...

: minimum age of a file

...

_minimum age of a file_Specifies the minimum age of a files. If the file(s) is newer then it is classified as non-existing, it will be not included in the result-list.
Data-Type : SOSOptionTime
The default value for this parameter is 0.

Parameter

...

max_file_size

...

: maximum size of a file

...

_maximum size of a file_Specifies the maximum size of a file in bytes: should the size of one of the files exceed this value, then it is classified as non-existing.
valid values for file size are

...

Data-Type : SOSOptionFileSize
The default value for this parameter is -1.

Parameter

...

min_file_size

...

: minimum size of one or multiple files

...

minimum size of one or multiple files
Specifies the minimum size of one or multiple files in bytes: should the size of one of the files fall below this value, then it is not included in the result list of the operation.
valid values for file size are

...

Data-Type : SOSOptionFileSize
The default value for this parameter is -1.

Parameter

...

skip_first_files

...

: number of files to remove from the top of the result-set

...

number of files to remove from the top of the result-set
The number of files are removed from the beginning of the set resulting by min_file_size , min_file_age etc. These files are excluded from further operations.
The result set is sorted according to the used filter parameters:

...

Only either skip_first_files or skip_last_files is allowed to be set at the same time.
Data-Type : SOSOptionInteger
The default value for this parameter is 0.

Parameter

...

skip

...

_last_

...

files: number of files to remove from the bottom of the result-set

...

_number of files to remove from the bottom of the result-set_The number of files are removed from the end of the set resulting by min_file_size, min_file_age etc. These files are excluded from further operations.

...

Only either skip_first_files or skip_last_files is allowed to be set at one time.
Data-Type : SOSOptionInteger
The default value for this parameter is 0.

Parameter

...

count_files

...

: Return the size of resultset

...

Return the size of resultset
If this parameter is set true " true " the number of matches is returned in the order parameter " scheduler_SOSFileOperations_file_count ".
Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein
This parameter is valid and available for order driven jobs only. JobChains, for example, are order driven jobs. In standalone jobs this parameter will be ignored without further notice.
Data-Type : SOSOptionBoolean
The default value for this parameter is false.

Parameter

...

create_order

...

: Activate file-order creation

...

Activate file-order creation
With this parameter it is possible to specify, that for all filenames in the resultlist or for the first file only (see create_orders_for_all_files ) a file-order has to be created and launched.
Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein
Data-Type : SOSOptionBoolean
The default value for this parameter is false.
Use together with parameter:
create_orders_for_all_files - Create a file-order for every file in the result-listorder_jobchain_name - next_state -

Parameter

...

create_orders_for_all_files

...

: Create a file-order for every file in the result-list

...

Create a file-order for every file in the result-list
Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein
Data-Type : SOSOptionBoolean
The default value for this parameter is false.
Use together with parameter:
create_order - Activate file-order creationorder_jobchain_name - next_state -

Parameter

...

order_jobchain_name

...

: The name of the jobchain which belongs to the order

...

The name of the jobchain which belongs to the order
The name of the jobchain which has to be launched by the order is the value of this parameter.
One must take into account, that the name of the jobchain must contain a subfolder structure if the jobchain is not in the folder "live". An example: the jobchain "Test" is located in "live/sample/FileOperations/". The value which has to be specfied is then "/sample/FileOperations/Test".
Data-Type : SOSOptionString
Use together with parameter:
create_order - Activate file-order creationnext_state -

Parameter

...

next_state

...

: The first node to execute in a jobchain

...

The first node to execute in a jobchain
The name of the node of a jobchain, with which the execution of the chain must be started, is the value of this parameter.
Data-Type : SOSOptionJobChainNode
Use together with parameter:
create_order - Activate file-order creationorder_jobchain_name -

Parameter

...

on_empty_result_set

...

: Set next node on empty result set

...

Set next node on empty result set
The next Node (Step, Job) to execute in a JobChain can be set with this parameter. The value of the parameter is a (valid) node-name of the current JobChain. In case of an empty result-set, e.g. due to non existent files, the current job will end without an errors and the JobChain will continue with the name of the node which is given as the value of this parameter.
Data-Type : SOSOptionJobChainNode
The default value for this parameter is empty.

...

.

Parameter >expected_size_of_result_

...

set: number of expected hits in result-list

...

number of expected hits in result-list

Data-Type : SOSOptionInteger
The default value for this parameter is 0.
Use together with parameter:
raise_error_if_result_set_is - raise error on expected size of result-set

Parameter

...

raise_error_if_result_set_is

...

: raise error on expected size of result-set

...

raise error on expected size of result-set
With this parameter it is possible to raise an error if the quantity of hits of the result-list is according to the value of this parameter.
An example:
Assuming, that the parameter "raise_error_if_result_set_isneis=ne" is defined and the parameter "expected_size_of_result_seh1. set=1" is specified as well. If the number of hits is not equal to "1" an error will raised.

Data-Type : SOSOptionRelOp
The default value for this parameter is 0.
Use together with parameter:
expected_size_of_result_set - number of expected hits in result-list

Parameter

...

result_list_file

...

: Name of the result-list file

...

Name of the result-list file
If the value of this parameter specifies a valid filename the result-list will be written to this file.
Data-Type : SOSOptionFileName
The default value for this parameter is empty.

...

The order parameter described below are returned by the job to the JobScheduler. JobSchedulerExistsFile

...

...

Name

title

mandatory

default

scheduler_file_path

file to process for a file-order

false

empty

scheduler_file_parent

pathanme of the file to process for a file-order

false

empty

scheduler_file_name

Name of the file to process for a file-order

false

empty

scheduler_sosfileoperations_resultset

The result of the operation as a list of items

false

empty

scheduler_sosfileoperations_resultsetsize

The amount of hits in the result set of the operation

false

empty

scheduler_sosfileoperations_file_count

Return the size of the result set after a file operation

false

0

scheduler_sosfileoperations_file_count

Return the size of the result set after a file operation

false

0

...

 

Parameter

...

scheduler_file_path

...

: file to process for a file-order

...

file to process for a file-order
Using Directory Monitoring with File Orders the job parameter scheduler_file_path contains automatically the path of the file that triggered the order.
Data-Type : SOSOptionFileName
The default value for this parameter is empty.

Parameter

...

scheduler_file_parent

...

: pathanme of the file to process for a file-order

...

pathanme of the file to process for a file-order

Data-Type : SOSOptionFileName
The default value for this parameter is empty.

Parameter

...

scheduler_file_name

...

: Name of the file to process for a file-order

...

Name of the file to process for a file-order

Data-Type : SOSOptionFileName
The default value for this parameter is empty.

Parameter

...

scheduler_sosfileoperations_resultset

...

: The result of the operation as a list of items

...

The result of the operation as a list of items

Data-Type : SOSOptionstring
The default value for this parameter is empty.
Use together with parameter:
scheduler_sosfileoperations_Resultsetsize - scheduler_sosfileoperations_file_count -

Parameter

...

scheduler_sosfileoperations_resultsetsize

...

: The amount of hits in the result set of the operation

...

The amount of hits in the result set of the operation

Data-Type : SOSOptionsInteger
The default value for this parameter is empty.
Use together with parameter:
scheduler_sosfileoperations_ResultSet - scheduler_sosfileoperations_FileCount -

Parameter

...

scheduler_sosfileoperations_file_count

...

: Return the size of the result set after a file operation

...

Return the size of the result set after a file operation

Data-Type : SOSOptionInteger
The default value for this parameter is 0.
Use together with parameter:
scheduler_sosfileoperations_Resultsetsize - scheduler_sosfileoperations_ResultSet -

Parameter

...

scheduler_sosfileoperations_file_count

...

: Return the size of the result set after a file operation

...

Return the size of the result set after a file operation

...