Share PollableDataQueue between Matlab sessions
    조회 수: 6 (최근 30일)
  
       이전 댓글 표시
    
I'm trying to send data between two sessions using data queue. Here is how I tried to do that:
- First Matlab instance creates PollableDataQueue and saves it in matfile
 - Second instance reads it and sends data object to the first one
 
However such approach results in an error when I send a message:
Struct contents reference from a non-struct array object.
Error in parallel.internal.pool.AbstractDataQueue/send (line 135)
                if obj.Session.isSessionRunning
Error in QueueManager/send_request (line 33)
            request_queue.send(task);
Error in TaskSender/get_latest_max (line 15)
            obj.queue_manager.send_request(task);
Is there a way to achieve such communication between Matlab sessions?
답변 (2개)
  Thomas Falch
    
 2025년 5월 15일
        DataQueue and PollableDataQueue are meant for sending data between the client and worker, or between workers in the same parallel pool. In other words, it is meant for sending data between MATLAB sessions that run at the same time.
It can not be used to send data from one MATLAB session to another you run later. To do this, you can simply save the data itself to a .mat file directly, and then load this .mat file in a MATLAB session you open later.
댓글 수: 0
  Raymond Norris
    
 2025년 6월 20일
        @Tomasz Wyrowinski are there other reasons to run a second MATLAB session?  Or is it just to "offload" work while the first MATLAB session is running?  If so in R2021b we introduced backgroundPool for running code in the background pool, using parfeval.  There you could use a dataqueue.  Would this suffice?
참고 항목
카테고리
				Help Center 및 File Exchange에서 Workspace Variables and MAT Files에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!