SeaScape - Browser-Based Monitoring for E906/SeaQuest¶
- WSGI (Python based) Apache module
- Multithreaded web application, uses the Flask micro-framework, with JINJA2 as HTML templating engine. This setup allows for a highly modular and extensible backend, acting in a parallelized (responsive) environment.
- Communicates with the MySQL server and manages server connections in a robust way using the fault-tolerant and highly parallel PySQLPool (and MySQLdb) libraries, and a custom written querybuilder (based on the GAE query builder API).
- Interface design with Twitter's Bootstrap CSS3 framework
The main installation of SeaScape is available on http://seaquest.fnal.gov/seascape. The performance and and uptime of the webserver is monitored on the orion server. The web traffic is analyzed via AWStats.
SeaScape is running on the web2007.fnal.gov virtual machine under the usear 'web-seaq'. To log onto this machine, ssh from an on-site machine:
ssh -x -l web-seaq web2007.fnal.gov
The code is kept in the '/home/web-seaq/htdocs/seascape' directory. Once changes are made to any files in this directory, they should be immediately reflected in the website.
If the httpd needs to be restarted, execute the following to do so:
sudo /etc/init.d/httpd graceful
- A SeaScape test server is available via source:launch.py. The test web server can be started via python launch.py seascape and runs under 127.0.0.1:5000.
- Important settings:
- limit for database connections: DB_MAX_ACTIVE_CONNECTIONS in config.py
- number of default spills: liveLength in the constructors in templates/, e.g., templates/detector.html or edit defaults in static/, e.g., seascape.prod.js
- SeaScape Development - Priorities for next revisions