You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@lenya.apache.org by Florent André <fl...@4sengines.com> on 2009/04/14 10:08:40 UTC
Re: Job Scheduler in Lenya/Cocoon
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é
<fl...@4sengines.com> wrote:
> arrrghh ! :)
>
> Thanks for your answer Anish.
>
> On Tue, 24 Mar 2009 14:24:22 +0530, Anish <an...@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 <an...@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