We have ours set up to fetch emails every 5 minutes from several O365 exchange email accounts (IMAP) using task scheduler to run cron.php every 5 minutes, rather than based on agent activity. But we are hosting ours on a Windows server, and you did not include any information about your setup. I suppose if we wanted it to happen every minute, we could create 5 separate tasks and schedule them at 1 minute intervals, but for our purposes, 5 minutes is frequent enough.