PDA

View Full Version : Schedule vB's tasks with a host crontab


Nxs
31 Jul 2006, 16:43
Schedule vB's tasks with a host crontab
!!! Warning You run this script at your OWN risk, I will not be responsible for any damage caused !!!

Description:vBulletins schedule tasks only run when a user is browsing your forum. With the release of 3.6 and RSS imports this has caused problems for slow moving forums importing fast moving RSS feeds (If a news item passes fully through the RSS feed before a visitor browses your forums causing the import to be processed then content could be lost)

Solution:If your host supports "Cron Jobs" you can call the attached PHP file periodically to force vBulletin to catch up with its internal scheduled tasks.

Installation

Download the attached file and edit the variables at the top to match your forum installation
Upload the file to somewhere on your host
Schedule this file to run at an appropriate interval
eg. (to run every hour at 15m past the hour, 12:15 - 13:15 - 14:15 - etc.)

Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------



Detailed InformationUnfortunatly running the cron.php from the vBulletin files will only process the next pending single task, This short script simply queries the scheduled task database to count how many tasks are pending, it then calls the cron.php routine that number of times - thus your scheduled tasks are kept up to date.

This is my first ever PHP script so please don't expect a masterpiece from a rocket scientist, if anyone has any comments or suggestions please drop me a PM

Nxs
31 Jul 2006, 16:44
I wasn't at all sure which forum to drop this script into, but as it relates mostly to the new RSS feature in 3.6 I guessed here was as good a place, sorry if it isn't.

Evercraft
31 Jul 2006, 17:19
Very nice! :)

Milad
01 Aug 2006, 08:18
very good work

Now vBulletin has real cronjop

Nxs
01 Aug 2006, 08:44
very good work

Now vBulletin has real cronjop

Well, only if you schedule this script to run every minute - and i'm sure your host will have something to say about that :)

Mine just runs every hour and typicaly has about 5 or 6 jobs to run at that point if no one has visited the forums in that time, works really well for importing RSS feeds tho.

jmw
29 Mar 2007, 17:50
Does this work with 3.6.5? It appears the "15 minute after the hour" example has the file name backwards.

dooch
04 May 2007, 17:53
yes it does work with 3.6.5 I had to change it slightly for non-localhost connections ;) Here is the part you need to change.



Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------



Nice work dude!

INSTALLED

Thanks

Dooch

NiTRoN
06 May 2007, 08:27
Sweet this is excellent for small boards.. I've been waiting sooooooo loooooong for this.. :)

trilljester
27 Jun 2007, 16:04
This is working nicely. I can't believe that VB doesn't offer something like this to run the scheduled tasks, because without traffic, those tasks will not run. That's just stupid.

Thanks!

gamma912
24 Jul 2007, 20:40
yea thats true - Thanks Im using it now it works great :)

jmw
09 Aug 2007, 22:21
Doesn't work with vbulletin 3.6.8

OmniBuzz
07 Jul 2008, 15:41
any chance to have an update for the latest release of Vbulletin ?

trilljester
03 Aug 2008, 22:29
Yeah, I can't seem to get it to work anymore. Sad, but I'm uninstalling. I'll have to write a shell script or something to trigger the cron in VB every 15 minutes or something.

Quarterbore
12 Aug 2008, 20:42
I need something like this for my Devopment board where I need to test but there are no users to make the scripts work. I will see if I can get it working on my 3.6.x site.

plothook
19 Jun 2009, 21:09
This works for me using vB 3.8.3

save the code below into a script file named vbcronjob.sh, and call the script from cron (I schedule my crontab for once a minute). Be sure to chmod +x the script. The logic in this shell script is pretty much the same as in the cron-exec.php script you can download here.

you should also disable the cron image inserted at the bottom of the pages presented to your users. See This Mod (http://www.vbulletin.org/forum/showthread.php?t=164477) for a simple plugin to do that.


Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------