-
Notifications
You must be signed in to change notification settings - Fork 3
Conversation
|
||
|
||
class AsynchronousJobHandler: | ||
"""Handles asynchronous jobs.""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great doc. :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to improve the docstrings by using google style docstrings (https://github.com/google/styleguide/blob/gh-pages/pyguide.md#38-comments-and-docstrings). I would be very happy about your feedback. If it is now an improvement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mini typos. The code looks good, but I am not too familiar with the whole backend. So I am not really the one to judge. I am trusting you here, that everything is well tested both from an automated test site as well as tested with a complete run through of the cockpit.
This PR is the first of four which aims to refactor the handling of Hyrise jobs (it aims to split #664). Hyrise jobs are interacting directly with the Hyrise to get the meta information and managing the Hyrise settings. We have three kinds of jobs:
Both continuous and asynchronous jobs are executed via the apscheduler (https://apscheduler.readthedocs.io/en/stable/). Esspacillay with the asynchronous jobs that's not necessary and increases the complexity (we could just use normal python threads). All three kinds of jobs are scattered in the database and background_scheduler component. The goal of the refactoring is now to have a clear separation for the jobs in the three categories (continuous, asynchronous, and synchronous) and define handlers for that. Moreover, we can stop the continuous jobs while loading/deleting tables (hyrise/hyrise#2180).
This PR implements the handler for the asynchronous jobs. It uses normal python threads (https://docs.python.org/3/library/threading.html#threading.Thread) for that.
ToDo:
execute_queries_parallel.py
to use Threads instead of processe