streamlit.report_session.ReportSession
server.add_preheated_report_sessionで呼んでいるsession.handle_rerun_script_request
Tell the ScriptRunner to re-run its report.
ClientState protobuf を持つらしい
If this is a "preheated" ReportSession, reuse the previous run if the widget state matches. But only do this one time ever.
self.request_rerun(client_state)
session.request_rerun
Signal that we're interested in running the script.
self._enqueue_script_request(ScriptRequest.RERUN, rerun_data)
self._enqueue_script_request
Enqueue a ScriptEvent into our ScriptEventQueue.
スクリプトをスレッドで動かす(bootstrap.run のコメント)
self._script_request_queue.enqueue(request, data)
self._maybe_create_scriptrunner()
属性 self._script_request_queue
ScriptRequestQueue()
The ScriptRequestQueue is the means by which we communicate with the active ScriptRunner
self._maybe_create_scriptrunner
self._scriptrunner を ScriptRunner で初期化してからstart
🔍runしたスクリプトがどのようにして画面に出るかを知りたい