Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added info about ".aliases.txt", updated permission for kabeja

...

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.