I think a blocking client is ok, but use some internal counter to make sure that the blocking time is limited.