You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue tracks refactoring the main TensorBoard WSGI app to make it easier to use the app as a standalone WSGI app (rather than only via the tensorboard CLI).
The essential stream of work is the "core" stream below, but it leaves behind a lot of cleanup that we should at least partially address as well.
Reorganize the logic in standard_tb_wsgi() so that first half creates the multiplexer + launches reloading, second half creates the TBContext and instantiates plugins - done in Refactor away TensorBoardWSGIApp in its current form #2575
Make each plugin itself a WSGI app, so that their backends can be tested entirely independent of the main TB app, and remove calls to TensorBoardWSGI
could do this by implementing __call__ in BasePlugin using dispatch middleware plus get_plugin_apps()?
could change get_plugin_apps() to memoized default implementation that searches class for attributes carrying a special tag, and use a method decorator to apply this tag to the individual routes (e.g. @tb_route("/tags") def tags_route(self, request): ...)
Refactor away TensorBoardWSGI inner surface (move plugin route aggregation logic into a helper that we can test directly)
Change TensorBoardWSGIApp.__call__() to just use dispatch middleware logic
This issue tracks refactoring the main TensorBoard WSGI app to make it easier to use the app as a standalone WSGI app (rather than only via the
tensorboard
CLI).The essential stream of work is the "core" stream below, but it leaves behind a lot of cleanup that we should at least partially address as well.
CORE
Reload()
- done in Refactor away TensorBoardWSGIApp in its current form #2575CLEANUP: WSGI
__call__
in BasePlugin using dispatch middleware plus get_plugin_apps()?@tb_route("/tags") def tags_route(self, request): ...
)TensorBoardWSGIApp.__call__()
to just use dispatch middleware logicCLEANUP: CORE PLUGIN
The text was updated successfully, but these errors were encountered: