Called when there is some status update (ingestion rate updated, etc.)
This method is asynchronous. The status in StreamingQuery will always be latest no matter when this method is called. Therefore, the status of StreamingQuery may be changed before/when you process the event. E.g., you may find StreamingQuery is terminated when you are processing QueryProgress.
Called when a query is started.
This is called synchronously with
onQueryStart will be called on all listeners before
DataStreamWriter.start() returns the corresponding StreamingQuery. Please
don't block this method as it will block your query.
Called when a query is stopped, with or without error.