rss_gen_service (private)

 rss_gen_service

Defined in packages/rss-support/tcl/rss-generation-service-procs.tcl

Partial Call Graph (max 5 caller/called nodes):
%3 acs_sc::invoke acs_sc::invoke (public) db_foreach db_foreach (public) parameter::get_global_value parameter::get_global_value (public) rss_gen_bind rss_gen_bind (private) rss_gen_report rss_gen_report (public) rss_gen_service rss_gen_service rss_gen_service->acs_sc::invoke rss_gen_service->db_foreach rss_gen_service->parameter::get_global_value rss_gen_service->rss_gen_bind rss_gen_service->rss_gen_report

Testcases:
No testcase defined.
Source code:

    if {[parameter::get_global_value  -package_key rss-support  -parameter RssGenActiveP  -default 1]} {

        ns_log Debug "rss_gen_service: starting"

        # Bind any unbound implementations
        rss_gen_bind

        set n 0

        db_foreach timed_out_subscriptions {} {
            set lastupdate [acs_sc::invoke  -contract RssGenerationSubscriber  -operation lastUpdated  -call_args $summary_context_id  -impl $impl_name]
            if { $lastupdate > $lastbuild } {
                # Old report is stale.  Build a new one.
                rss_gen_report $subscr_id
                incr n
            }
        }

        ns_log Debug "rss_gen_service: built $n reports"
    } {
        ns_log Debug "rss_gen_service: disabled by RssGenActiveP global parameter"
    }
Generic XQL file:
packages/rss-support/tcl/rss-generation-service-procs.xql

PostgreSQL XQL file:
<fullquery name="rss_gen_service.timed_out_subscriptions">
    <querytext>
        select r.subscr_id,
               r.timeout,
               r.summary_context_id,
               i.impl_name,
               case when r.lastbuild = null
                    then 0
                    else date_part('epoch',r.lastbuild)
                    end as lastbuild
        from rss_gen_subscrs r,
             acs_sc_impls i
        where i.impl_id = r.impl_id
          and (r.lastbuild is null
               or now() - r.lastbuild > cast(r.timeout || ' seconds' as interval))	
    </querytext>
</fullquery>
packages/rss-support/tcl/rss-generation-service-procs-postgresql.xql

Oracle XQL file:
<fullquery name="rss_gen_service.timed_out_subscriptions">
    <querytext>
        select r.subscr_id,
               r.timeout,
               r.summary_context_id,
               i.impl_name,
               nvl2(r.lastbuild, (r.lastbuild-to_date('1970-01-01'))*60*60*24, 0) as lastbuild
        from rss_gen_subscrs r,
             acs_sc_impls i
        where i.impl_id = r.impl_id
          and (r.lastbuild is null
               or sysdate > r.lastbuild + r.timeout/(60*60*24))
    </querytext>
</fullquery>
packages/rss-support/tcl/rss-generation-service-procs-oracle.xql

[ hide source ] | [ make this the default ]
Show another procedure: