I use zeroMQ to get all new blocks (rawblock or hashblock). If my script is down for few minutes or hours and I missed few blocks, is it possible to catch up all missed blocks with zeroMQ when I restart the script ? During this time, bitcoin-core is always running.
No, it is not possible to catch up via ZMQ itself. A sequence number is present with each notification so you can detect when you've missed notifications. In those cases, then you can fetch the missing blocks and transactions over the RPC interface.