Scheduler

From CSLabsWiki
Jump to: navigation, search
Scheduler
IP Address(es): 128.153.145.213
Contact Person: Anthony Rinaldo rinaldaj@clarkson.edu
Last Update: September 2016
VM Host (Physical): hydra
Host VM: scheduler
Services: Scheduler (for scheduling classess)


Scheduler is a service designed to help students make their schedule. It queries the class information from an exported CSV from Peoplesoft.

It uses the Shiny webapp and runs on port 3001 (which is redirected transparently to http://scheduler.cosi.clarkson.edu)

Install

Install Ubuntu 16.04

Install packages

sudo apt install r-base apache2

Enter R

Enter R and install packages

R
install.packages("shiny")
install.packages(c("dplyr","gdata"))

Configure Apache

sudo a2enmod proxy proxy_http proxy_wstunnel rewrite

edit /etc/apache2/sites-enabled/000-default.conf

add these lines between the tags (comment out the document root that exists)

	#DocumentRoot /var/www/html
	RewriteEngine on
	RewriteCond %{HTTP:Upgrade} =websocket
	RewriteRule /(.*)	ws://localhost:3001/$1	[P,L]
	RewriteCond %{HTTP:Upgrade} !=websocket
	RewriteRule /(.*)	http://localhost:3001/$1	[P,L]
	
	ProxyPreserveHost on
	ProxyPass / http://localhost:3001/
	ProxyPassReverse / http://localhost:3001/

Start Apache

sudo systemctl restart apache2
sudo systemctl status apache2

Install Script to run R server

edit /etc/systemd/system/rthing.service

[Unit]
Description=rthing

[Service]
User=rinaldaj
ExecStart=/bin/bash /home/rinaldaj/runMe.sh

[Install]
WantedBy=multi-user.target

enable the script (after setting up the thing)

systemctl enable rthing
systemctl start rthing


Updating the list

Download a new file from peoplesoft then convert the file to a csv and save as ps.csv in the folder with the program.