king reported this in https://github.com/dagster-io/dagster/issues/3016 - you'll get a hanging run if the gRPC server can't load the instance for some reason. Deal with that by catching failures in the instance.launch_run method and marking the run as failed when that happens. (Failures that happen during execution are responsible for marking the run as failed themselves - this is solely for the case where we weren't able to even start execution. We mark as failure in the run launching process because if it's an issue loading the instance, we have no way to find the run to mark it as failed.
New BK test
the str => StringSource changes here were just to make the test I added possible, but seem harmless and backwards compatible, The docs claim "Note that Dagster supports retrieving instance YAML values from environment variables, using env: instead of a string literal. An example dagster.yaml is below:"
not sure why I had this here, KeyboardInterrupt is a BaseException not an Exception