like @Mrugalla said, receive your parameters values directly in the processBlock.
The message thread might be completely blocked while offline rendering, any listener specific actions will not work (and whats worse, will be delayed or happening in parallel causing data races)
I think the “only” save way to receive your current parameter values is to access them inside processBlock.
Also if you use the same parameter more than one time, inside processBlock, it is better to store them locally in a variable, because they might change while executing processBlock.
Ahh yes that makes sense, it’s just I have about 70 apvts parameters and I’m guessing I shouldn’t be trying to update that many parameters every buffer. Is there a standard way to only update if has been changed from the process block?