I have ran two flows, but only in the sense that one flow runs another and waits for it to get done before continuing. I cannot imagine this would be safe unless they were each being ran on separate virtual machines.
If you only have the option of using 1 computer, I wonder if you break up the 5 hour process to smaller increments. Let’s say approximately 50 minutes each. At the beginning of each leg, set an Environment Variable “Status” as “Running”, and at the end of each leg, set the Environment Variable “Status” as “Available”.
On the hourly one, assuming it takes 5 minutes or less, call the Environment Variable “Status”. If it is “Running”, Wait 1 minute (Loop until it gets “Available”). And when it has “Available”, then it can continue on. If the hourly one can be skipped without harm to operations, you could keep the 5-hour process and simply say, If Environment Variable “Status” is “Running”, “Exit Flow”.
Best of Luck!