diff --git a/ocaml/Qmcchem_dataserver.ml b/ocaml/Qmcchem_dataserver.ml index c46c3e5..07d2642 100644 --- a/ocaml/Qmcchem_dataserver.ml +++ b/ocaml/Qmcchem_dataserver.ml @@ -721,10 +721,14 @@ let run ?(daemon=true) ezfio_filename = Unix.gettimeofday () in let msg = +(* List.rev_map String.trim raw_msg |> List.rev |> Message.create - and msg_size = +*) + Message.create raw_msg + in + let msg_size = List.fold_left (fun accu x -> accu + (String.length x)) 0 raw_msg in let recv_log = @@ -787,12 +791,12 @@ let run ?(daemon=true) ezfio_filename = let polling = Zmq.Poll.poll ~timeout:1000 pollitem in - match polling.(1) with - | Some Zmq.Poll.In -> handle_pull !status + match polling.(0) with + | Some Zmq.Poll.In -> handle_rep () | _ -> begin - match polling.(0) with - | Some Zmq.Poll.In -> handle_rep () + match polling.(1) with + | Some Zmq.Poll.In -> handle_pull !status | _ -> begin flush !block_channel ; diff --git a/src/ZMQ/worker.irp.f b/src/ZMQ/worker.irp.f index 8650c43..8a5ba8e 100644 --- a/src/ZMQ/worker.irp.f +++ b/src/ZMQ/worker.irp.f @@ -90,14 +90,14 @@ subroutine zmq_unregister_worker(msg) ! Timeout 15 seconds rc = -1 - do i=1,15 + do i=1,20 rc = f77_zmq_recv(zmq_to_dataserver_socket, buffer, 32, ZMQ_NOBLOCK) if (rc == 2) then call worker_log(irp_here, 'Unregistered') return endif call worker_log(irp_here, 'Unregister failed. Retrying') - call sleep(1) + call sleep(5) enddo call abrt(irp_here, 'Unregister failed')