Skip to content

Commit 865b2d4

Browse files
committed
Clear global callback collections after use
1 parent 71ca88a commit 865b2d4

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

dash/dash.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -714,6 +714,9 @@ def _generate_scripts_html(self):
714714
)
715715
)
716716

717+
global_inline_scripts = list(_callback.GLOBAL_INLINE_SCRIPTS)
718+
_callback.GLOBAL_INLINE_SCRIPTS.clear()
719+
717720
return "\n".join(
718721
[
719722
format_tag("script", src)
@@ -723,7 +726,7 @@ def _generate_scripts_html(self):
723726
]
724727
+ [
725728
"<script>{}</script>".format(src)
726-
for src in (self._inline_scripts + _callback.GLOBAL_INLINE_SCRIPTS)
729+
for src in (self._inline_scripts + global_inline_scripts)
727730
]
728731
)
729732

@@ -1343,7 +1346,7 @@ def _setup_server(self):
13431346
self._generate_css_dist_html()
13441347

13451348
# Copy over global callback data structures assigned with `dash.callback`
1346-
for k in _callback.GLOBAL_CALLBACK_MAP:
1349+
for k in list(_callback.GLOBAL_CALLBACK_MAP):
13471350

13481351
if k in self.callback_map:
13491352
raise DuplicateCallback(
@@ -1353,9 +1356,10 @@ def _setup_server(self):
13531356
+ "assigned with `app.callback`."
13541357
)
13551358

1356-
self.callback_map[k] = _callback.GLOBAL_CALLBACK_MAP[k]
1359+
self.callback_map[k] = _callback.GLOBAL_CALLBACK_MAP.pop(k)
13571360

13581361
self._callback_list.extend(_callback.GLOBAL_CALLBACK_LIST)
1362+
_callback.GLOBAL_CALLBACK_LIST.clear()
13591363

13601364
def _add_assets_resource(self, url_path, file_path):
13611365
res = {"asset_path": url_path, "filepath": file_path}

0 commit comments

Comments
 (0)