mirror of
https://github.com/ComputerScienceHouse/proxstar.git
synced 2025-03-09 15:40:09 +00:00
Merge pull request #65 from ComputerScienceHouse/extending_timeout
Extending gunicorn timeout
This commit is contained in:
commit
36f52e5938
2 changed files with 28 additions and 29 deletions
28
config.py
28
config.py
|
@ -11,24 +11,17 @@ SERVER_NAME = environ.get('PROXSTAR_SERVER_NAME', 'proxstar.csh.rit.edu')
|
||||||
SECRET_KEY = environ.get('PROXSTAR_SECRET_KEY', '')
|
SECRET_KEY = environ.get('PROXSTAR_SECRET_KEY', '')
|
||||||
|
|
||||||
# OIDC
|
# OIDC
|
||||||
OIDC_ISSUER = environ.get('PROXSTAR_OIDC_ISSUER',
|
OIDC_ISSUER = environ.get('PROXSTAR_OIDC_ISSUER', 'https://sso.csh.rit.edu/auth/realms/csh')
|
||||||
'https://sso.csh.rit.edu/auth/realms/csh')
|
|
||||||
OIDC_CLIENT_CONFIG = {
|
OIDC_CLIENT_CONFIG = {
|
||||||
'client_id':
|
'client_id': environ.get('PROXSTAR_CLIENT_ID', 'proxstar'),
|
||||||
environ.get('PROXSTAR_CLIENT_ID', 'proxstar'),
|
'client_secret': environ.get('PROXSTAR_CLIENT_SECRET', ''),
|
||||||
'client_secret':
|
|
||||||
environ.get('PROXSTAR_CLIENT_SECRET', ''),
|
|
||||||
'post_logout_redirect_uris': [
|
'post_logout_redirect_uris': [
|
||||||
environ.get('PROXSTAR_REDIRECT_URI',
|
environ.get('PROXSTAR_REDIRECT_URI', 'https://proxstar.csh.rit.edu/logout')
|
||||||
'https://proxstar.csh.rit.edu/logout')
|
],
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Proxmox
|
# Proxmox
|
||||||
PROXMOX_HOSTS = [
|
PROXMOX_HOSTS = [host.strip() for host in environ.get('PROXSTAR_PROXMOX_HOSTS', '').split(',')]
|
||||||
host.strip()
|
|
||||||
for host in environ.get('PROXSTAR_PROXMOX_HOSTS', '').split(',')
|
|
||||||
]
|
|
||||||
PROXMOX_USER = environ.get('PROXSTAR_PROXMOX_USER', '')
|
PROXMOX_USER = environ.get('PROXSTAR_PROXMOX_USER', '')
|
||||||
PROXMOX_PASS = environ.get('PROXSTAR_PROXMOX_PASS', '')
|
PROXMOX_PASS = environ.get('PROXSTAR_PROXMOX_PASS', '')
|
||||||
PROXMOX_ISO_STORAGE = environ.get('PROXSTAR_PROXMOX_ISO_STORAGE', 'nfs-iso')
|
PROXMOX_ISO_STORAGE = environ.get('PROXSTAR_PROXMOX_ISO_STORAGE', 'nfs-iso')
|
||||||
|
@ -57,10 +50,8 @@ RQ_DASHBOARD_REDIS_HOST = environ.get('PROXSTAR_REDIS_HOST', 'localhost')
|
||||||
REDIS_PORT = int(environ.get('PROXSTAR_REDIS_PORT', '6379'))
|
REDIS_PORT = int(environ.get('PROXSTAR_REDIS_PORT', '6379'))
|
||||||
|
|
||||||
# VNC
|
# VNC
|
||||||
WEBSOCKIFY_PATH = environ.get('PROXSTAR_WEBSOCKIFY_PATH',
|
WEBSOCKIFY_PATH = environ.get('PROXSTAR_WEBSOCKIFY_PATH', '/opt/app-root/bin/websockify')
|
||||||
'/opt/app-root/bin/websockify')
|
WEBSOCKIFY_TARGET_FILE = environ.get('PROXSTAR_WEBSOCKIFY_TARGET_FILE', '/opt/app-root/src/targets')
|
||||||
WEBSOCKIFY_TARGET_FILE = environ.get('PROXSTAR_WEBSOCKIFY_TARGET_FILE',
|
|
||||||
'/opt/app-root/src/targets')
|
|
||||||
|
|
||||||
# SENTRY
|
# SENTRY
|
||||||
# If you set the sentry dsn locally, make sure you use the local-dev or some
|
# If you set the sentry dsn locally, make sure you use the local-dev or some
|
||||||
|
@ -68,3 +59,6 @@ WEBSOCKIFY_TARGET_FILE = environ.get('PROXSTAR_WEBSOCKIFY_TARGET_FILE',
|
||||||
SENTRY_DSN = environ.get('PROXSTAR_SENTRY_DSN', '')
|
SENTRY_DSN = environ.get('PROXSTAR_SENTRY_DSN', '')
|
||||||
RQ_SENTRY_DSN = environ.get('PROXSTAR_SENTRY_DSN', '')
|
RQ_SENTRY_DSN = environ.get('PROXSTAR_SENTRY_DSN', '')
|
||||||
SENTRY_ENV = environ.get('PROXSTAR_SENTRY_ENV', 'local-dev')
|
SENTRY_ENV = environ.get('PROXSTAR_SENTRY_ENV', 'local-dev')
|
||||||
|
|
||||||
|
# GUNICORN
|
||||||
|
TIMEOUT = environ.get('PROXSTAR_TIMEOUT', 120)
|
||||||
|
|
|
@ -4,26 +4,31 @@ import subprocess
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
if os.path.exists(
|
if os.path.exists(os.path.join(app.config.get('ROOT_DIR', os.getcwd()), "config.local.py")):
|
||||||
os.path.join(
|
config = os.path.join(app.config.get('ROOT_DIR', os.getcwd()), "config.local.py")
|
||||||
app.config.get('ROOT_DIR', os.getcwd()), "config.local.py")):
|
|
||||||
config = os.path.join(
|
|
||||||
app.config.get('ROOT_DIR', os.getcwd()), "config.local.py")
|
|
||||||
else:
|
else:
|
||||||
config = os.path.join(app.config.get('ROOT_DIR', os.getcwd()), "config.py")
|
config = os.path.join(app.config.get('ROOT_DIR', os.getcwd()), "config.py")
|
||||||
app.config.from_pyfile(config)
|
app.config.from_pyfile(config)
|
||||||
|
|
||||||
|
timeout = config.TIMEOUT
|
||||||
|
|
||||||
|
|
||||||
def start_websockify(websockify_path, target_file):
|
def start_websockify(websockify_path, target_file):
|
||||||
result = subprocess.run(['pgrep', 'websockify'], stdout=subprocess.PIPE)
|
result = subprocess.run(['pgrep', 'websockify'], stdout=subprocess.PIPE)
|
||||||
if not result.stdout:
|
if not result.stdout:
|
||||||
subprocess.call([
|
subprocess.call(
|
||||||
websockify_path, '8081', '--token-plugin', 'TokenFile',
|
[
|
||||||
'--token-source', target_file, '-D'
|
websockify_path,
|
||||||
],
|
'8081',
|
||||||
stdout=subprocess.PIPE)
|
'--token-plugin',
|
||||||
|
'TokenFile',
|
||||||
|
'--token-source',
|
||||||
|
target_file,
|
||||||
|
'-D',
|
||||||
|
],
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def on_starting(server):
|
def on_starting(server):
|
||||||
start_websockify(app.config['WEBSOCKIFY_PATH'],
|
start_websockify(app.config['WEBSOCKIFY_PATH'], app.config['WEBSOCKIFY_TARGET_FILE'])
|
||||||
app.config['WEBSOCKIFY_TARGET_FILE'])
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue