XF 1.3 Cron Entries - User Group Promotions


Why can I not find any documentation describing the functions of the "Run at" options in the Cron Entry portion of the AdminCP?

Reason I ask, is it doesn't seem that Xenforo's Cron system is very reliable at times. I've got a user group promotion setup for users who associate their Steam account with their Forum account. A user cannot post in any threads or take part in any discussions unless they associate their Steam account.

As it stands currently, I have the "Run at" times setup below.

Run on type of day: Any
Run at hours: Any
Run at minutes: Any
Allow cron entry to run automatically when scheduled is enabled (checked)

The problem I'm seeing is Xenforo seems to run this Cron entry arbitrarily. If a new user was to sign up and associate their Steam account, they will have to wait 6 hours before the task is ran. Why is this? Why is it seemingly so inconsistent? Why is there no documentation as to what the "Run at" options pertain to? Is there no way to have the cron job run as soon as they associate their Steam account?

Help is always appreciated. Thanks!


XenForo developer
Staff member
The cron system is mostly targeted at developers. Regardless, the configuration of the "run at" options there would have it run once per minute (provided there is activity on the forum, not withstanding issues due to add-ons, customizations, etc).

However, you also need to understand the actual code that's being run. Promotions are not necessarily designed to be applied instantaneously. That can mean they can be applied (or removed) 1-2 hours after the relevant criteria is met (or no longer met). Anything longer than this may indicate issues with add-ons or customizations interfering with cron execution (or server issues interfering with it)

If you need an instantaneous change based on your specific criteria, you may need to custom develop something to apply the promotion equivalent when the relevant changes are made.


Thanks for the help Mike. I was hoping to avoid having to write an add-on for this functionality, but it would be piss-easy to do. I wanted to make sure I wasn't overlooking something or just missing the obvious.