How to set up a cron job that runs for a specific rule? I have a 2 rules that should run each on a specific time interval instead of the regular cron job setting.
I have a list of &quot;Sessions&quot; (entity type) that should be evaluated to see if their booking has expired, if their starting date is in the past, etc. and then certain settings should be updated  on each.
I have another list of &quot;Events&quot; (entity type) that does something similar but shouldn't be executed with the same frequency as the Sessions.
Both are rules components.
My first problem
These components fire when I force run my cron job with Elysia Cron module and that works. But it should be automatic. So I have assigned the &quot;rules_cron&quot; job to a new channel, &quot;channel 2&quot; and it should run every hour but it doesn't do that. rules_cron apparently runs every 48 hours or so.

My second problem
What I really need is the Session component to run every hour and the Event component to run every 15 minutes?
What am I doing incorrectly and how do I accomplish that?
What I really need is the Session component to run every hour and the Event component to run every 15 minutes?

According to your screenshot, it seems you're only running Cron once a day, so even having a shorter schedule than that will not work unless your Cron runs at those needed intervals.
Re-configure your crontab to run at the shortest interval needed. In your case this will be 15 minutes. The configuration of each of those schedules should still ensure that whichever cron hook is only run at the specified times.