Second cron trigger does not run

Cron event.cron === "0 * * * *" never triggers, because it overlaps the first. How to separate the execution logic so that if they overlap - both are executed?

async scheduled(event: ScheduledEvent, env: Env, ctx: ExecutionContext): Promise<void> {
    const delayedProcessing = async () => {
      // Every 15 minutes
      if (event.cron === "*/15 * * * *") {
        await someFunction(env)
      }
      // Every 1 hour at 0 minute
      if (event.cron === "0 * * * *") {
        await someFunction2(env)
      }
    }
    ctx.waitUntil(delayedProcessing())
  },