...
A Softwareserver connects to RabbitMQ, picks up jobs (aka msgs) in the queues, processes them, and sends the results back by accessing Polyglot's endpoint at "<polyglot_ip>:8184/checkin/<jobid>/<result_url>".
Polyglot uses SoftwareServer.conf + scripts/*/.aliases.txt to configure which applications it will process. For example, SS on dap-dev is configured to convert only demclip and streamclip:
Code Block |
---|
SoftwareServer.conf:
#BatchScripts=scripts/bat
#ShellScripts=/home/polyglot/scripts/sh
#RScripts=scripts/R
#AHKScripts=scripts/csr-configured
#AppleScripts=scripts/applescript
#SikuliScripts=scripts/sikuli
PythonScripts=scripts/py
$ grep -v ^# */.aliases.txt
ahk/.aliases.txt:A3DReviewer
ahk/.aliases.txt:ImgMgk
ahk/.aliases.txt:IrfanView
py/.aliases.txt:demclip_convert.py
py/.aliases.txt:streamclip_convert.py
R/.aliases.txt:PEcAn
sh/.aliases.txt:avconv-audio
sh/.aliases.txt:avconv-video
|
Implementation Details
Both Polyglot and softwareserver are implemented in Java, currently using Restlet. Current configuration files are:
...
Code Block |
---|
sudo vi /etc/apt/sources.list # to uncomment the 4 multiverse lines. sudo apt-get update sudo apt-get install -y imagemagick unoconv p7zip-full libav-tools xvfb eog flac gthumb htmldoc rar unrar cabextract netcdf-bin pdf2djvu soundconverter txt2html unrtf vlc-nox calibre cd /home/polyglot sudo scp -pr dap-dev.ncsa.illinois.edu:/home/polyglot/daffodil . sudo chown -R --reference=/home/polyglot /home/polyglot/daffodil cd /opt sudo scp -pr dap-dev.ncsa.illinois.edu:/opt/kabeja-0.4 . sudo chmod 755 kabeja-0.4/kabeja.sh # Polyglot's Kabeja_convert.sh uses "./kabeja.sh", so needs to be executable. sudo chown -R --reference=/home/polyglot /opt/kabeja-0.4 # Kabeja_convert.sh copies the input file in it, so needs the write permission. |