diff --git a/HACKING/README.md b/HACKING/README.md index 765586a..48f77d1 100644 --- a/HACKING/README.md +++ b/HACKING/README.md @@ -68,3 +68,10 @@ If you're trying to run this all on a VM without a graphical web browser, you ca ssh example@dev-server.csh.rit.edu -L 8000:localhost:8000 -L 8001:localhost:8001 ``` +### Firing off Jobs + +To fire off a targets cleanup job, run a curl request: + +``` +curl -X POST http://localhost:8000/console/cleanup -F 'token={VNC_CLEANUP_TOKEN}' +``` diff --git a/proxstar/__init__.py b/proxstar/__init__.py index 6502a8f..3e93e87 100644 --- a/proxstar/__init__.py +++ b/proxstar/__init__.py @@ -596,7 +596,14 @@ def cleanup_vnc(): print('Cleaning up targets file...') with open(app.config['WEBSOCKIFY_TARGET_FILE'], 'w') as targets: targets.truncate() - return '', 200 + print('Clearing vnc tokens from Redis...') + count = 0 + ns_keys = 'vnc_token*' + for key in redis_conn.scan_iter(ns_keys): + redis_conn.delete(key) + count += 1 + print(f'Deleted {count} key(s).') + return '', 200 print('Got bad cleanup request') return '', 403 diff --git a/proxstar/tasks.py b/proxstar/tasks.py index 96ccffb..de0b882 100644 --- a/proxstar/tasks.py +++ b/proxstar/tasks.py @@ -243,12 +243,7 @@ def cleanup_vnc_task(): ones every couple of minutes https://github.com/ComputerScienceHouse/proxstar/issues/153 """ - print('Clearing vnc targets') - with open(app.config['WEBSOCKIFY_TARGET_FILE'], 'w') as targets: - targets.truncate() - # FIXME (willnilges): This... might be working...? - try: requests.post( 'https://{}/console/cleanup'.format(app.config['SERVER_NAME']),