Standalone Firefly Tools with an embedded Tomcat 7 No additional dependencies besides Java 1.8.
-
Upload
harry-roberts -
Category
Documents
-
view
219 -
download
0
Transcript of Standalone Firefly Tools with an embedded Tomcat 7 No additional dependencies besides Java 1.8.
Standalone Firefly Toolswith an embedded Tomcat 7
No additional dependencies besides Java 1.8
Where is it?
• https://github.com/lsst/firefly/releases/
OR
• https://github.com/lsst/firefly then click ‘releases’ tab
Steps
• Download fftools-exec.war from github
• Override properties with ./config/fftools/app.prop
• Launch Firefly Server: java -jar fftools-exec.war <optional params>
Options
java -jar fftools-exec.war --help
-extractDirectory <extractDirectory>-httpPort <httpPort>-Xmx<memory allocation>-Dserver_config_dir=<config directory>
External Task Launcher
allows Firefly to get Image, Table or JSONfrom an external process
allows user to extend Firefly server capabilities
Python Launcher – now and then
• For now, Python launcher is an executable on the same machine started with the same UID as Firefly server
• Later, Python launcher is local or remote need to handle both scenarios
Sample Python Task Launcher
at Firefly Githubsrc/firefly/python/SamplePythonLauncher.py• Illustrates communication protocol between
Firefly and Python code: -d DIR work directory -i FILE json file with task params -n TASK task name (no spaces) -o DIR output file directory
Setting Python Launcher Location
Override the property:config/fftools/app.prop python.exe= python <myPythonLauncher.py>
Pass it to Firefly Tools with embedded Tomcat:java -httpPort 8000 -Xmx8g -jar fftools-exec.war -Dserver_config_dir=./config
JavaScript API
• Image Viewer with an image from external task • Table or XY Plot Viewer with a table from external task• Getting JSON data from an external task and passing them to - Firefly widget - another JS visualization tool
JavaScript API: JSON
Documentation
On LSST Firefly Github: https://github.com/lsst/firefly
Check “Adding Python Launcher to Firefly”
JavaScript API: FITS
JavaScript API: Table