From: pines Date: Sun, 13 May 2007 08:34:48 +0000 (+0000) Subject: more file caching at startup, init observers, and setup timer to purge expired cached... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=4ffc584bd6a7c1369a7917c4fedb83871c238890;p=Evergreen.git more file caching at startup, init observers, and setup timer to purge expired cached requests git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@7293 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/xul/staff_client/server/main/data.xul b/Open-ILS/xul/staff_client/server/main/data.xul index dd35949f7f..94b340c21b 100644 --- a/Open-ILS/xul/staff_client/server/main/data.xul +++ b/Open-ILS/xul/staff_client/server/main/data.xul @@ -7,6 +7,14 @@ + + + + + + + + @@ -50,6 +58,126 @@ JSAN.errorLevel = "die"; // none, warn, or die JSAN.addRepository('/xul/server/'); + function cache_me(msg,how) { + try { + switch(how) { + case 'jsan' : JSAN.use(msg); break; + case 'http' : + var x = new XMLHttpRequest(); + x.open("GET",msg,true); + x.send(null); + break; + } + dump(msg + '\n'); + var x = document.getElementById('data_progress'); + if (x) { + x.appendChild( document.createTextNode( msg + ' ') ); + } + } catch(E) { + dump(msg + '\n' + E); + } + } + + // load these just so they'll get cached + cache_me('/xul/server//util/exec.js','http'); + cache_me('/xul/server//util/barcode.js','http'); + cache_me('/xul/server//util/controller.js','http'); + cache_me('/xul/server//util/deck.js','http'); + cache_me('/xul/server//util/fm_utils.js','http'); + cache_me('/xul/server//util/list.js','http'); + cache_me('/xul/server//util/network.js','http'); + cache_me('/xul/server//util/sound.js','http'); + cache_me('/xul/server//util/widgets.js','http'); + cache_me('/xul/server//util/browser.js','http'); + cache_me('/xul/server//util/error.js','http'); + cache_me('/xul/server//util/file.js','http'); + cache_me('/xul/server//util/functional.js','http'); + cache_me('/xul/server//util/money.js','http'); + cache_me('/xul/server//util/print.js','http'); + cache_me('/xul/server//util/text.js','http'); + cache_me('/xul/server//util/window.js','http'); + + cache_me('/xul/server/util/fancy_prompt.xul','http'); + cache_me('/xul/server/util/browser.xul','http'); + cache_me('/xul/server/util/rbrowser.xul','http'); + + cache_me('/xul/server//patron/display.js','http'); + cache_me('/xul/server//patron/bills.js','http'); + cache_me('/xul/server//patron/holds.js','http'); + cache_me('/xul/server//patron/items.js','http'); + cache_me('/xul/server//patron/search_form.js','http'); + cache_me('/xul/server//patron/search_result.js','http'); + cache_me('/xul/server//patron/summary.js','http'); + cache_me('/xul/server//patron/util.js','http'); + + cache_me('/xul/server/patron/display.xul','http'); + cache_me('/xul/server/patron/display_overlay.xul','http'); + cache_me('/xul/server/patron/bills.xul','http'); + cache_me('/xul/server/patron/bills_overlay.xul','http'); + cache_me('/xul/server/patron/holds.xul','http'); + cache_me('/xul/server/patron/holds_overlay.xul','http'); + cache_me('/xul/server/patron/items.xul','http'); + cache_me('/xul/server/patron/items_overlay.xul','http'); + cache_me('/xul/server/patron/search_form.xul','http'); + cache_me('/xul/server/patron/search_form_overlay.xul','http'); + cache_me('/xul/server/patron/search_result.xul','http'); + cache_me('/xul/server/patron/search_result_overlay.xul','http'); + cache_me('/xul/server/patron/summary.xul','http'); + cache_me('/xul/server/patron/summary_overlay.xul','http'); + cache_me('/xul/server/patron/barcode_entry.xul','http'); + + cache_me('/xul/server/patron/ue.xhtml','http'); + cache_me('/xul/server/admin/adminlib.js','http'); + cache_me('/xul/server/admin/admin.css','http'); + cache_me('/xul/server/patron/ue_config.js','http'); + cache_me('/xul/server/patron/ue_ui.js','http'); + cache_me('/xul/server/patron/ue.js','http'); + cache_me('/opac/common/js//config.js','http'); + cache_me('/opac/common/js/Cookie.js','http'); + cache_me('/opac/common/js/Cookies.js','http'); + cache_me('/opac/common/js/opac_utils.js','http'); + cache_me('/opac/common/js/init.js','http'); + cache_me('/opac/common/js/jscalendar/calendar-brown.css','http'); + cache_me('/opac/common/js/jscalendar/calendar.js','http'); + cache_me('/opac/common/js/jscalendar/lang/calendar-en.js','http'); + cache_me('/opac/common/js/jscalendar/calendar-setup.js','http'); + cache_me('/opac/common/js/jscalendar/img.gif','http'); + + cache_me('/xul/server/skin/media/images/stop_sign.png','http'); + cache_me('/xul/server/skin/media/images/bad_barcode.png','http'); + cache_me('/xul/server/skin/media/images/grinder.gif','http'); + cache_me('/xul/server/skin/media/images/patron_left_arrow.png','http'); + cache_me('/xul/server/skin/media/images/skull.png','http'); + cache_me('/xul/server/skin/media/images/tools.png','http'); + cache_me('/xul/server/skin/media/images/up_arrow.gif','http'); + cache_me('/xul/server/skin/media/images/book_question.png','http'); + cache_me('/xul/server/skin/media/images/down_arrow.gif','http'); + cache_me('/xul/server/skin/media/images/icon_delete.gif','http'); + cache_me('/xul/server/skin/media/images/patron_right_arrow.png','http'); + cache_me('/xul/server/skin/media/images/turtle.gif','http'); + cache_me('/xul/server/skin/media/audio/bonus.wav','http'); + cache_me('/xul/server/skin/media/audio/question.wav','http'); + cache_me('/xul/server/skin/media/audio/redalert.wav','http'); + cache_me('/xul/server/skin/media/audio/toggled.wav','http'); + + cache_me('/xul/server//circ/checkin.js','http'); + cache_me('/xul/server//circ/checkout.js','http'); + cache_me('/xul/server//circ/copy_status.js','http'); + cache_me('/xul/server//circ/hold_capture.js','http'); + cache_me('/xul/server//circ/in_house_use.js','http'); + cache_me('/xul/server//circ/util.js','http'); + + cache_me('/xul/server/circ/checkout_overlay.xul','http'); + cache_me('/xul/server/circ/checkout.xul','http'); + cache_me('/xul/server/circ/checkin_overlay.xul','http'); + cache_me('/xul/server/circ/checkin.xul','http'); + cache_me('/xul/server/circ/circ_brief.xul','http'); + cache_me('/xul/server/circ/circ_summary.xul','http'); + cache_me('/xul/server/circ/copy_status.xul','http'); + cache_me('/xul/server/circ/copy_status_overlay.xul','http'); + + // ---- + JSAN.use('OpenILS.data'); g.data = new OpenILS.data() g.data.on_error = xulG.auth.logoff; @@ -62,7 +190,24 @@ g.data.stash('session'); g.data.on_complete = function () { - g.data.stash('list','hash','tree','temp'); + g.data.stash('list','hash','tree','temp','cached_request'); + + setInterval( + function() { + try { + var remove_me = []; + var n = Number( new Date() ); + for (var i in g.data.cached_request) { + if (g.data.cached_request[i].expire_time < n && g.data.cached_request[i].status != 'pending') remove_me.push(i); + } + dump('trimming ' + remove_me.length + ' requests from cache\n'); + for (var i in remove_me) delete g.data.cached_request[i]; + } catch(E) { + alert(E); + } + }, 180000 + ); + g.data._debug_stash(); document.getElementById('iframe').setAttribute( @@ -80,6 +225,9 @@ } g.data.init(); + + g.data.init_observer_functions(); + } ]]>