Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons

Reply
 
Thread Tools
True Asynchronous Cron Jobs using Javascript [!AJAX]. No more hanging page loads. Details »»
True Asynchronous Cron Jobs using Javascript [!AJAX]. No more hanging page loads.
Version: 1.0.1, by Analogpoint Analogpoint is offline
Developer Last Online: Dec 2007 Show Printable Version Email this Page

Category: Board Optimization - Version: 3.6.x Rating:
Released: 10-17-2007 Last Update: 10-18-2007 Installs: 177
Uses Plugins
 
No support by the author.

How vB's Cron Jobs Work (and the problem with them)
vBulletin has a great, built-in scheduled task system. It relies on an invisible pixel image output on the bottom of the forum pages to run the scheduled tasks (cron jobs). It works like this: When a user visits a page, vB checks to see if there are any pending cron jobs to execute. If there are, the cron image is inserted at the bottom of the page. That image, instead of displaying a real image, actually calls the scheduled task script which first returns the image, then proceeds to execute the scheduled task. This setup can cause the page load to hang, depending on what browser you're using. vB goes to great lengths to send the content-length header, then flush the image data to the browser. This causes some browsers to stop loading the page even though the script isn't finished running (it has to execute the cron job), since the data returned matches the content-length header. However, not all browsers are that smart. Sometimes they sit there with whatever indicator they have spinning, saying the page is still loading, until the scheduled task has finished.

How this product works, and how it fixes the problem
This add-on fixes the problem. How it works:
1. First it checks to see if the user has Javascript enabled. No Javascript means the standard vB cron image is used, so your scheduled tasks keep running.
2. If Javascript is enabled, then a short snippet of Javascript is inserted at the bottom of the page instead of the cron image.
3. What this Javascript does is first wait until the page is completely loaded. After the page is loaded, it ask for the standard vB cron image, which runs your scheduled task. After the image is loaded, it displays it (it's invisible) at the bottom of the page. It's as simple as that.

The advantage of this setup is that the cron image is requested via Javascript after the page is done loading, so that the user doesn't think something is wrong and wonder why the page won't finish loading.

Installation
Import the product XML via the Product Manager. You can enable/disable the product in the JS Cron Image Options group.

Technical Specs
This product adds one plugin which inserts Javascript where the vB cron image used to go. That's it.

History
Version 1.0.0 - Initial Release
Version 1.0.1 - Better compatibility with vBa and other 'portal' scripts. $vbulletin->options['bburl'] is prepended to the cron image URL.

This product doesn't change how cron jobs execute at all, it only requests the cron image (which starts cron job execution) in a different way, so that the user doesn't have forever-loading pages.

If you use this, please click Mark As Installed.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #52  
Old 10-30-2007, 04:53 PM
Analogpoint's Avatar
Analogpoint Analogpoint is offline
 
Join Date: Feb 2007
Posts: 656
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by timothydog76 View Post
Installed this today. Seems cool. I noticed one minor glitch (nitpicking really). If I look in the plugins manager the drop-down box and "Go" button are oriented funny. Is this an issue anyone else is seeing?

Thanks,
That is a problem with vBulletin (with any products you install), and is not directly related to this product. But I hear you, I think it's annoying too.
Reply With Quote
  #53  
Old 11-01-2007, 06:04 AM
Code Monkey's Avatar
Code Monkey Code Monkey is offline
 
Join Date: May 2004
Posts: 1,080
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lizard King View Post
Quote:
Originally Posted by Analogpoint View Post

That's a classic case of using a bulldozer to knock over a molehill. You have to upload a Javascript file, and a php file, as well as install the product. It uses AJAX where AJAX is not needed. It makes you run a hacked version of vB's cron.php file. It doesn't work with vBadvanced, vBdruapal and others. I'm not sure how it deals with users who don't have Javascript enabled. This mod has none of those problems. Shall I continue?
That's a nice bulldozer post to get people to use your product instead of the original. lol Nothing like being insulted by someone you don't know.

Just to answer your mud flinging.

The hacked cron file returns less crap that is not needed and prevents many issues that were found using cron.php.

The uploaded javascript is cached by the users browser where your inline js must be downloaded with each and every page load.

It works fine with vbadvanced.

And as far as users without js, it defaults to the normal vb method.

Oh, and it only loads when a cron is to be run. Not every page load like this one.

And what's best of all, it's original.

Nice people don't fling mud. Have a nice day.
Reply With Quote
  #54  
Old 11-01-2007, 06:59 AM
Analogpoint's Avatar
Analogpoint Analogpoint is offline
 
Join Date: Feb 2007
Posts: 656
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Code Monkey View Post
That's a nice bulldozer post to get people to use your product instead of the original. lol Nothing like being insulted by someone you don't know.

Just to answer your mud flinging.

The hacked cron file returns less crap that is not needed and prevents many issues that were found using cron.php.

The uploaded javascript is cached by the users browser where your inline js must be downloaded with each and every page load.

It works fine with vbadvanced.

And as far as users without js, it defaults to the normal vb method.

Oh, and it only loads when a cron is to be run. Not every page load like this one.

And what's best of all, it's original.

Nice people don't fling mud. Have a nice day.

Code Monkey,

I offer you my sincerest apologies. I created this mod for my own personal use, and I created it to the best of my abilities. My post that you call 'mud flinging' was an attempt to compare the two mods, only since someone asked. I never told anyone to use my mod instead of yours, everyone's free to use what they want. My personal preference with modifications, is the simpler and more straightforward it is, the better. You have misinformation in your post, concerning both the mods, which I won't respond to. Each user can decide for themselves which mod they want to install, if any. I hope you'll forgive me and not feel that I'm stepping on your toes. I hope we can peacefully coexist here on vB.org.

Respectfully,
David.
Reply With Quote
  #55  
Old 11-01-2007, 08:02 AM
mhackl mhackl is offline
 
Join Date: Aug 2006
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I installed this and noticed a significant increase in performance. Better in Firefox than IE though.
Reply With Quote
  #56  
Old 11-02-2007, 01:30 AM
JohnBee JohnBee is offline
 
Join Date: Oct 2004
Posts: 544
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for this! very smart MOD .twothumbsup.
Reply With Quote
  #57  
Old 11-06-2007, 01:33 PM
Paxion Paxion is offline
 
Join Date: Aug 2007
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Greatest mod I have so far.... and my forum has pretty much everything.
Reply With Quote
  #58  
Old 11-08-2007, 09:59 AM
kollam003 kollam003 is offline
 
Join Date: May 2007
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Indianprofits.com clicks install
Reply With Quote
  #59  
Old 11-09-2007, 10:39 AM
class101 class101 is offline
 
Join Date: Sep 2007
Location: France
Posts: 134
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thank you , this addon fixed a problem I had with $cronimage and Zoints Tags rewritten urls
Reply With Quote
  #60  
Old 11-15-2007, 02:27 PM
69lakalle's Avatar
69lakalle 69lakalle is offline
 
Join Date: Apr 2007
Location: Fort Lauderdale
Posts: 92
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can you add an option were we can set the sizes for posts and signatures separate ?
Reply With Quote
  #61  
Old 12-06-2007, 10:50 AM
plothook plothook is offline
 
Join Date: Apr 2007
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

* Clicks Mark as Uninstalled *
Those annoying hangs in Firefox are a thing of the past!

Thanks Analogpoint!
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:52 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07064 seconds
  • Memory Usage 2,311KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete