You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, every call of datastruct_savvy() calls upload_graph() separately; with a large number of workers, this might be causing Blazegraph to hang up when running in corefacility.
The way to solve this would be to merge a few of the current queues:
priority is currently used to run blazegraph queries for the frontend
blazegraph is currently used to reserve spfyids for uploaded files
multiples (for RGI) and singles (for ECTyper) can each invoke the upload_graph() function and cause simultaneous uploading of result graphs.
There are a number of permutations for this, but for now I'm going to try and just group 3. into their own queue. This is because 2. is fairly valuable since all tasks are dependent on it, thus we want to keep it separate. Ideally, by merging 3. and only having one worker on it, we can avoid overloading Blazegraph.
Few approaches to do this:
create a new task for uploading which will require modifying the routes to return the upload task instead of the datastruct_savvy() task as the end task. (Again, still waiting on multi-job deps Multi dependencies (my take) rq/rq#856)
create a decorator for uploading which sidesteps route modification, but means that users are blind to when their files are actually loaded into the database, though they will still get results.
I'm going to go with 2. as it will be fast to dev. and test this theory; we can also use the decorators to eventually build full job classes.
Right now, every call of
datastruct_savvy()callsupload_graph()separately; with a large number of workers, this might be causing Blazegraph to hang up when running in corefacility.The way to solve this would be to merge a few of the current queues:
priorityis currently used to run blazegraph queries for the frontendblazegraphis currently used to reserve spfyids for uploaded filesmultiples(for RGI) andsingles(for ECTyper) can each invoke theupload_graph()function and cause simultaneous uploading of result graphs.There are a number of permutations for this, but for now I'm going to try and just group
3.into their own queue. This is because2.is fairly valuable since all tasks are dependent on it, thus we want to keep it separate. Ideally, by merging3.and only having one worker on it, we can avoid overloading Blazegraph.Few approaches to do this:
datastruct_savvy()task as the end task. (Again, still waiting on multi-job deps Multi dependencies (my take) rq/rq#856)I'm going to go with
2.as it will be fast to dev. and test this theory; we can also use the decorators to eventually build full job classes.