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
When this is called from an interactive terminal, you can cancel with control+c, but the spawned jupyter notebook remains.
This should be handled gracefully. The easy case is when a human is working interactively and then enters the control+c key command, this should be quick to implement.
The harder case is when an external program needs to signal to to the front-end that its work is done and the process should be terminated gracefully. To make this concrete, consider this example:
Greg writes a script which instantiates a DSI Core Terminal, but before the Terminal performs a transload operation (therefor locking the metadata schema), Greg needs a ML program to explore SQL data and return a sample of required data.
The Terminal loads a front-end SQLite Driver and an arbitrary back-end Driver.
The method "Terminal().artifact_handler(interaction_type='inspect')" is called.
The external ML program needs to execute SQL queries according to its own logic, and when the external program terminates it should send a signal to the DSI Core Terminal.
The SQL query results should then be available to guide how/which Plugins are loaded.
The text was updated successfully, but these errors were encountered:
To see an example of this problem take a look at how this Parquet front-end is implemented:
dsi/dsi/drivers/parquet.py
Lines 79 to 80 in 6ecaa35
When this is called from an interactive terminal, you can cancel with control+c, but the spawned jupyter notebook remains.
This should be handled gracefully. The easy case is when a human is working interactively and then enters the control+c key command, this should be quick to implement.
The harder case is when an external program needs to signal to to the front-end that its work is done and the process should be terminated gracefully. To make this concrete, consider this example:
transload
operation (therefor locking the metadata schema), Greg needs a ML program to explore SQL data and return a sample of required data.Terminal().artifact_handler(interaction_type='inspect')
" is called.The text was updated successfully, but these errors were encountered: