Skip to content

Commit 5f6f3bf

Browse files
authored
py: run spwaned listeners as daemons (#1834)
The CallbackRunner, which runs in a separate thread now runs as a daemon. This means that the spawned thread will stop executing when the main thread ends. Signed-off-by: Abhinav Gyawali <22275402+abhizer@users.noreply.github.com>
1 parent 92f8d25 commit 5f6f3bf

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

python/feldera/_callback_runner.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ def __init__(
2323
queue: Optional[Queue],
2424
):
2525
super().__init__()
26+
self.daemon = True
2627
self.client: FelderaClient = client
2728
self.pipeline_name: str = pipeline_name
2829
self.view_name: str = view_name

python/tests/test_wireframes.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,18 @@ def test_df_without_columns(self):
119119
with self.assertRaises(ValueError):
120120
sql.connect_source_pandas(TBL_NAME, df)
121121

122+
def test_sql_error(self):
123+
sql = SQLContext('sql_error', TEST_CLIENT).get_or_create()
124+
TBL_NAME = "student"
125+
df = pd.DataFrame([(1, "a"), (2, "b"), (3, "c")], columns=["id", "name"])
126+
sql.register_table(TBL_NAME, SQLSchema({"id": "INT", "name": "STRING"}))
127+
sql.register_view("s", f"SELECT FROM blah")
128+
sql.connect_source_pandas(TBL_NAME, df)
129+
_ = sql.listen("s")
130+
131+
with self.assertRaises(Exception):
132+
sql.run_to_completion()
133+
122134
def test_kafka(self):
123135
from kafka import KafkaProducer
124136
from kafka.admin import KafkaAdminClient, NewTopic

0 commit comments

Comments
 (0)