Correct use of interrupts

I have 2 flow sensors (Hall sensors). I've used attachInterrupt to calculate the frequency.
The issue is the sensor will be inline to an aquarium filter running 24/7.

I've read that interrupts should be used for short durations. What are the down side to using for long durations and even multiple devices?

Should I find an alternative like pulseIn()?

What you (should) have read is that an interrupt service routine typically needs to be short and sweet. Only doing what is necessary to accomplish the immediate task.

Should I find an alternative like pulseIn()?

I cannot see your code from here so I'm going to use my... RANDOM.ORG - Coin Flipper make that decision. It indicates that you should not try to find an alternative.

Regards multiple interrupts, they are either first come, first served, or prioritized in hardware. Sometimes you have both. Neither way is terrible, but software management is necessary to prevent them from interfering with each other in some cases. Usually the problem is that something has to be done in a finite time by an interrupt handler, and no other processes may then be allowed to interfere with it. But of course then delaying other processes might affect them... and so on. So you need a high level real time strategy to avoid conflicts. Some things turn out to be simply impossible. The solution to that is more advanced hardware.

pulsein would be much worse IMHO as it blocks.

It doesn't take long for an ISR to record a pulse.

Thanks for the opinions. I'll stick with interrupts as it is the most accurate. Nothing better than jumping right in and gain practical experience. I'll see what issues arise.