Commit 414be040 authored by Joel Collins's avatar Joel Collins
Browse files

Added a note about concurrency

parent 6092e8ab
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -18,7 +18,16 @@ class MjpegStream(View):
    @doc_response(200, mimetype="multipart/x-mixed-replace")
    def get(self):
        """
        MJPEG stream from the microscope camera
        MJPEG stream from the microscope camera.

        Note: While the code actually getting frame data from a camera and storing it in
        camera.frame runs in a thread, the gen(microscope.camera) generator does not.
        This response is therefore blocking. The generator just yields the most recent
        frame from the camera object, passed to the Flask response, and then repeats until
        the connection is closed.

        Without monkey patching with gevent, or using a native threaded server, the stream
        will block all proceeding requests.
        """
        microscope = find_component("org.openflexure.microscope")
        # Restart stream worker thread