View Full Version : Scheduled Tasks, caching, widget

28 Dec 2009, 07:53

I've created my own weather widget using Yahoo Weather RSS Feed (http://developer.yahoo.com/weather/), it's working fine however I'm wondering on how to cache the content and refresh it lets say every 5 minutes

I figured the best way to achieve that is by using the built-in Scheduled Tasks function but I can't figure out how to cache the content or better say where to cache it, save it in just a writable xml file or store it in databse and retrieve the data from database in my widget

what would be the best way to go for caching and retrieving the data in the widget while maintaining least possible load on server and best performance?

Appreciate your input

28 Dec 2009, 15:01
vb already has a cache class which deals with caching; the best way would be to figure out how that works, cache your widget in that and expire it every 5 mins with a cron job or the class may even do it automatically for you.

This means that your mod would be portable, if someone is using memcached for their cache, it'll use that, if someone is using the database, it'll use that.

28 Dec 2009, 15:43
Take a look at this article - Cache System Explanation (datastore) (http://www.vbulletin.org/forum/showthread.php?t=110628&highlight=datastore)

29 Dec 2009, 13:21
Thanks guys, I've implemented the 'datastore' and things seem to be working fine
it's time to put the final code into the widget and finish the Ajax part :)

--------------- Added 1262165665 at 1262165665 ---------------

now after implementing the caching, I can't get vbCMS php widget to show the content, I've tried to include the php file into the widget in various ways with no luck

I always get the error of "Fatal error: Cannot redeclare class vB_Bootstrap_Forum in /home/superper/public_html/includes/class_bootstrap.php on line 1443"

The only other way I can think of is making the widget an external one, making its output like write('The output'); in javascript format
and then in the CMS, create a html/javascript widget and call for the php file file, like if it was a javascript file

let me know if you know any other way


--------------- Added 1262165785 at 1262165785 ---------------

damn auto merge, even tho I hate to do this, BUMP