lenya-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florent André <florent.andre-...@4sengines.com>
Subject Re: Job Scheduler in Lenya/Cocoon
Date Tue, 14 Apr 2009 08:08:40 GMT
Hi all,

The return of cron bug ! :) (resume of lasts episodes : the cron job in
cocoon.xconf don't work on Lenya 2.0)

As Anish said : "it's work for me on Lenya on Lenya 1.2.4",
-- I do a diff on the org.apache.cocoon.components.cron.CronJob of 1.2 and
2.0 : there is some diff.
-- so I get the 1.2 CronJob.java, compile it as
CronJobOld.java, try it in the cocoon.xconf cron definition... and it's
don't work...
-- So the idea of a problem in the global-sitemap.xmap seems to be good...

BUT : as Andreas suggests, fire the pipeline throw browser work
- so, I edit my linux crontab with this line : 0 9 * * mon wget -O
/dev/null http://tomcat.serveur/lenya/dev/modules/mymodules/mypipeline
- and it don't work
- I open a fresh lovely firefox on the pipe... and it don't work !
- I open a new tab and CONNECT to Lenya, I refresh my pipe's tab : and it
work !

IN FACT :
- the call of this pipeline works when we are CONNECTED to lenya
- the cocoon.xconf, and a unconnected browser can't fire the pipeline !

QUESTIONS :
- Anish, can you redo this "way of work" ? (pipeline fire when connected,
but not when not connected)
- In my case, the module's resource is on authoring (have to be connect)...
but I fire a pipeline that have no deal with this resource. I think that
there is no relationship between the publication status of the resource and
the possibility of fire a pipeline. I'm right ?
- This possible to define a pipeline that we can call without have to be
connected ? 
- In a more general way, what is the relationship between pipeline and
connexion ?

Thanks !
Have a good day

On Tue, 24 Mar 2009 16:50:24 +0100, Florent André
<florent.andre-dev@4sengines.com> wrote:
> arrrghh !  :)
> 
> Thanks for your answer Anish.
> 
> On Tue, 24 Mar 2009 14:24:22 +0530, Anish <anish.sneh@techblue.co.uk>
> wrote:
>> Hi Florent
>> 
>>> The URI prefix is removed when the module sitemap is mounted. And the 
>>> pipeline in the above configuration ends with "crontest". So I guess 
>>> this should read
>>>
>>>        <map:match pattern="crontest">
>> Even I tried the same way, Andreas suggested.
>> 
>> It's not working for Lenya 2.0 (as I'm calling a module's internal 
>> pipeline). Although pipeline worked fine if called though browser (on 
>> http://)
> 
> Me too. I also call this pipeline with a <map:generate
> src="cocoon://modules/mymodule/crontest"> and it's work... (the
> map:generate and the map:match pattern="crontest" are in the same
sitemap).
> 
>> 
>> Earlier I had applied this scheduler for Cocoon 2.1.7/Lenya 1.2.4 
>> (without modules) and there it worked.
>> (in that case I called  
>>  <pipeline>mypublication/live/mycron.xml</pipeline>, this pipeline 
>> resides in my publication-sitemap.xmap)
> 
> I don't have lenya 1.2.4, so do you know if the difference is : 
> - between the cocoon java cron class (I try with
> cocoon.components.cron.TestCronJob and
> cocoon.components.cron.CocoonPipelineCronJob : nothing work)
> - between the lenya's sitemap ?
> 
> 
>> 
>> I think in the case of Lenya 2.0, module's sitemap is not getting 
>> mounted properly.
>> 
>> I'm trying to resolve this.
> 
> Also... because the log have the error : <map:mount> -
> file:///var/lib/tomcat5.5/./webapps/lenya/sitemap.xmap:661:106
> 
> I try on the sitemap : 
> ------------------------------------------------------------------
> 1 - to remplace  : map:mount by map:read (I see an example on the web
with
> read) in :
>  <map:match pattern="**">
>         <map:mount check-reload="true" reload-method="synchron"
> src="global-sitemap.xmap" uri-prefix=""/>
>       </map:match>
> (the match pointed by log)
> ------------------------------------------------------------------
> 2 - to add :
> **** in webapps/lenya/sitemap.xmap 
> <map:match pattern="cron/modules/*/**">
>         <map:mount uri-prefix="modules/{1}/"
> src="{fallback:lenya/modules/{1}/sitemap.xmap}" check-reload="true"
> reload-method="synchron"/>
> </map:match>
> **** in my cocoon.xconf cron's pipeline definition : 
>  <pipeline>cron/modules/killbookmakers/crontest</pipeline>
> 
> (I'm not really sure with my sitemap.xmap's map:mount definition...)
> 
> And nothing work... :(
> 
> 
> Open to all suggestions...
> 
> ++
> 
> 
> 
>> 
>> 
>> 
>> 
>> Andreas Hartmann wrote:
>>> Florent André schrieb:
>>>> Hi Anish,
>>>>
>>>> I think I have the same problem you solve :
>>>> org.apache.excalibur.source.SourceException: Cannot get input stream
> for
>>>> cocoon://modules/mymodule/crontest
>>>>
>>>> In the component test <pipeline> I try
>>>> * modules/mymodule/crontest
>>>> * lenya/modules/mymodule/crontest
>>>> * mymodule/crontest
>>>>
>>>> ... but nothing work.
>>>>
>>>> Can you help me ?
>>>>
>>>> --- cocoon.conf ---
>>>> ## cron component/trigger :
>>>>  <triggers>
>>>>         <trigger name="test-job1"
>>>>                 
> target="org.apache.cocoon.components.cron.CronJob/test"
>>>>                  concurrent-runs="false">
>>>>           <cron>*/2 * * * * ? *</cron>
>>>>         </trigger>
>>>>       </triggers>
>>>>
>>>> ##component test :
>>>>  <component role="org.apache.cocoon.components.cron.CronJob/test"
>>>>              class="org.apache.cocoon.components.cron.TestCronJob"
>>>>              logger="cron.test">
>>>> <!--    <msg>I'm here</msg>
>>>>     <sleep>23000</sleep>-->
>>>>     <pipeline>modules/mymodule/crontest</pipeline>
>>>>   </component>
>>>>
>>>>
>>>>
>>>> --- Mymodule.xmap ---
>>>>       <map:match pattern="**/crontest/**">
>>>
>>> The URI prefix is removed when the module sitemap is mounted. And the 
>>> pipeline in the above configuration ends with "crontest". So I guess 
>>> this should read
>>>
>>>        <map:match pattern="crontest">
>>>
>>> Does it work when you call the URI from the browser instead of the 
>>> cron job?
>>>
>>> Maybe this helps,
>>>
>>> -- Andreas
>>>
>>>>
>>>>         <map:generate src="test/source.xml"/>
>>>>
>>>>         <!-- DEV DEBUG 1 BEGIN -->
>>>>         <map:call resource="log-to-file">
>>>>           <map:parameter name="fileprefix" value="CronCall"/>
>>>>         </map:call>
>>>>         <!-- DEV DEBUG 1 END -->
>>>>
>>>>         <map:serialize type="xml"/>
>>>>       </map:match>
>>>>
>>>> TIA & HAND
>>>>
>>>>
>>>> On Tue, 20 Jan 2009 17:25:50 +0530, Anish <anish.sneh@techblue.co.uk>
>>>> wrote:
>>>>> Anish wrote:
>>>>>> Hi
>>>>>>
>>>>>> I've applied cron scheduler to my Cocoon/Lenya Application. I'm 
>>>>>> trying to call a pipeline (which is  publication specific i.e. 
>>>>>> inside publication-sitemap.xmap).
>>>>>>
>>>>>> My call from scheduler reaches to the sitemap but during processing

>>>>>> it throws :
>>>>>>
>>>>>> org.apache.excalibur.source.SourceException: Cannot get input 
>>>>>> stream for cocoon://mypublication/live/mypage.xml
>>>>>>
>>>>>> due to:
>>>>>>
>>>>>> java.lang.StringIndexOutOfBoundsException: String index out of 
>>>>>> range: -1
>>>>>>
>>>>>> Although my all pipelines work fine inside the publication as I 
>>>>>> access through browser.
>>>>>>
>>>>>> I'm using:
>>>>>>
>>>>>> Cocoon 2.1.7
>>>>>> Lenya 1.2.4
>>>>>> Tomcat 5.5.17
>>>>>>
>>>>>> Please suggest.
>>>>>>
>>>>>> Vik Tara wrote:
>>>>>>>>> for general scheduling tasks, take a look at the cron
block API
>>>>>>>>> documentation in Cocoon.
>>>>>>>>>       
>>>>>>> I think that's here:
>>>>>>> http://xmlshoestring.com/samples/blocks/cron/samples
>>>>>>>
>>>>>>> Andreas Hartmann wrote:
>>>>>>>  
>>>>>>>> Hi Anish,
>>>>>>>>
>>>>>>>> Anish schrieb:
>>>>>>>>    
>>>>>>>>> I was trying to implement Cocoon Job Scheduler. Please
help and
>>>>>>>>> provide me documentation/information as I could hardly
find 
>>>>>>>>> relevant
>>>>>>>>> documentation on that.
>>>>>>>>>       
>>>>>>>> for general scheduling tasks, take a look at the cron block
API
>>>>>>>> documentation in Cocoon.
>>>>>>>>
>>>>>>>> For an example how to schedule a Lenya usecase, consult the
API 
>>>>>>>> of the
>>>>>>>> UsecaseScheduler class and use the Publish usecase as an
example.
>>>>>>>>
>>>>>>>> -- Andreas
>>>>>>>>
>>>>>>>>
>>>>>>>>     
>>>>>>>
>>>>>>>
> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
>>>>>>> For additional commands, e-mail: user-help@lenya.apache.org
>>>>>>>
>>>>>>>   
>>>>>>
>>>>>> -- 
>>>>>> Thanks & Regards,
>>>>>> Anish
>>>>> Hi All
>>>>>
>>>>> Thanks, The issue is resolved.
>>>
>>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
> For additional commands, e-mail: user-help@lenya.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
For additional commands, e-mail: user-help@lenya.apache.org


Mime
View raw message