Skip to content
Snippets Groups Projects
Features.md 4.58 KiB
Newer Older
Armin Costa's avatar
Armin Costa committed
# Features #


Armin Costa's avatar
Armin Costa committed
The DES application currently implements the following features

Armin Costa's avatar
Armin Costa committed

Armin Costa's avatar
Armin Costa committed
## Concurrent Distribution of Data ##
Armin Costa's avatar
Armin Costa committed

Armin Costa's avatar
Armin Costa committed

Armin Costa's avatar
Armin Costa committed
- supported protocols: SFTP, FTP
- recursive upload of directories
- Notification of data delivery via e-mail

Armin Costa's avatar
Armin Costa committed

Armin Costa's avatar
Armin Costa committed
```xml
Armin Costa's avatar
Armin Costa committed
<AOI name="aoi" active="yes">
	<Distribution type="sftp" active="no" priority="NORM">
		<consumer name="dummy" active="no">
			<ProductType>SAMPLE.aoi.*.AA.txt</ProductType>
			<EMail>support.rs@eurac.edu</EMail>
			<NotifyEmail>false</NotifyEmail>
		</consumer>
	</Distribution>
	<Distribution type="ftp" active="no" priority="NORM">
		<consumer name="CoA" active="yes">
			<ProductType>*.txt</ProductType>
			<EMail>support.rs@eurac.edu</EMail>
			<NotifyEmail>false</NotifyEmail>
			<Recursive>true</Recursive>
		</consumer>
	</Distribution>
</AOI>
Armin Costa's avatar
Armin Costa committed

Armin Costa's avatar
Armin Costa committed
## Concurrent Download of Data ##

Armin Costa's avatar
Armin Costa committed

Armin Costa's avatar
Armin Costa committed
- supported protocols: SFTP, FTP
- Notification of data received via e-mai

Armin Costa's avatar
Armin Costa committed

Armin Costa's avatar
Armin Costa committed
```xml
<AOI name="ReceivingStation" active="yes">
	<Download type="sftp" active="yes" priority="NORM">
		<consumer name="rsuser@eomount.eurac.edu" active="yes">
			<ProductType>NPP.*.Eurac.dat</ProductType>
			<DestinationPath>./nppdata</DestinationPath>
			<EMail>support.rs@eurac.edu</EMail>
			<NotifyEmail>true</NotifyEmail>
		</consumer>
	</Download>
</AOI>
Armin Costa's avatar
Armin Costa committed
``` 



## Concurrent Execution of Tasks ##


- Plugins in form of java classes, shell scripts/commands, perl scripts
- Task execution is driven and triggered by filtered FileType's
- On the fly java code compilation is supported


```xml
<AOI name="aoi" active="yes">
	<Task name="renameFiles" type="class" active="yes" priority="NORM">
		<Command>class</Command>
		<FileType>SAMPLE.*.AA.txt</FileType>
		<Parameter>edu.eurac.distributionserver.tasks.generic.FileRename
		</Parameter>
		<FilePrefix>RENAME</FilePrefix>
	</Task>
	<Task name="testCmd" type="cmd" active="no" priority="NORM">
		<EMail>support.rs@eurac.edu</EMail>
		<NotifyEmail>false</NotifyEmail>
		<Command>ping</Command>
		<Parameter>127.0.0.1</Parameter>
	</Task>
	<Task name="testPerl" type="sh" active="no" priority="NORM">
		<EMail>support.rs@eurac.edu</EMail>
		<NotifyEmail>false</NotifyEmail>
		<Command>perl</Command>
		<Parameter>./test_data/scripts/testPerl.pl</Parameter>
		<Parameter>$CWD</Parameter>
	</Task>
	<Task name="moveToStorage" type="shell" active="no" priority="NORM">
		<RunOnTrigger>/tmp/RunMoveToStorage</RunOnTrigger>
		<Command>sh</Command>
		<Parameter>./test_data/scripts/moveToStorage.sh</Parameter>
		<Parameter>/raid0/NISDS2/raid/pub/gsfcdata/npp/viirs/level2/*
		</Parameter>
		<Parameter>/raid0/level2STORAGE/</Parameter>
	</Task>
</AOI>
``` 



## Concurrent Parallel/Serial Execution of Task Groups ##


- Task groups can be **serial** or **parallel**


```xml
<AOI name="aoi" active="yes">
	<TaskGroup name="testGroup" type="parallel" active="yes"
		priority="NORM">
		<Task name="testCmd1" type="cmd" active="yes" priority="NORM">
			<EMail>support.rs@eurac.edu</EMail>
			<NotifyEmail>false</NotifyEmail>
			<Command>ping</Command>
			<Parameter>127.0.0.1</Parameter>
		</Task>
		<Task name="testCmd2" type="cmd" active="yes" priority="NORM">
			<EMail>support.rs@eurac.edu</EMail>
			<NotifyEmail>false</NotifyEmail>
			<Command>ping</Command>
			<Parameter>127.0.0.1</Parameter>
		</Task>
	</TaskGroup>
	<TaskGroup name="testGroup2" type="serial" active="no"
		priority="NORM">
		<Task name="testCmd1" type="cmd" active="yes" priority="NORM">
			<EMail>support.rs@eurac.edu</EMail>
			<NotifyEmail>false</NotifyEmail>
			<Command>ping</Command>
			<Parameter>127.0.0.1</Parameter>
		</Task>
		<Task name="testCmd2" type="cmd" active="yes" priority="NORM">
			<EMail>support.rs@eurac.edu</EMail>
			<NotifyEmail>false</NotifyEmail>
			<Command>ping</Command>
			<Parameter>127.0.0.1</Parameter>
		</Task>
	</TaskGroup>
</AOI>
```



## Concurrent Cleaning of data ##


- implements all switches available in linux find command
- On Windows OS a CyWIN installation is required


```xml
<AOI name="cleanSATWorkspaces" active="yes">
	<DataCleaner name="01_Data" type="filesystem" active="yes"
		priority="NORM">
		<RunOnTrigger>/tmp/RunSATWS_cleanup</RunOnTrigger>
		<EMail>support.rs@eurac.edu</EMail>
		<NotifyEmail>yes</NotifyEmail>
		<IncludePath>/mnt/SATWS/*/01_Data/*</IncludePath>
		<ExcludeFileType>*.pro</ExcludeFileType>
		<ExcludeFileType>*.java</ExcludeFileType>
		<ExcludeFileType>*.f</ExcludeFileType>
		<ExcludeFileType>*.m</ExcludeFileType>
		<ExcludeFileType>*.r</ExcludeFileType>
		<ExcludeFileType>*.c</ExcludeFileType>
		<ExcludeFileType>*.h</ExcludeFileType>
		<ExcludeFileType>*.doc</ExcludeFileType>
		<Size>+1k</Size>
		<LastAccess>+60</LastAccess>
	</DataCleaner>
</AOI>
```