Andreas Hartmann wrote:
> Hi Cocoon devs,
>
> in the process of moving the Lenya scheduler to Cocoon components,
> I played a little bit with the cron block.
>
> At first I tried to invoke a Lenya service from the scheduler by
> obtaining the service directly via the ServiceableJob's service manager.
> But this way I ended up with exceptions, because the request URI
> was empty. Originally, the service was only invoked from the web
> interface via flowscript.
>
> Some questions:
>
> 1) Is it possible to initialize a cron job with the original environment
> information?
What's "original environment" in the context of a cron job? There is no
environment there, only service manager.
> 2) Or is it unwise to implement Contextualizable and access the request
> object via the ContextHelper in services which can be called from
> the scheduler? If yes, would that mean I should pass the request
> URI etc. manually?
What is "URI" for a cron task? You can think in terms of unix cron, if it is helps.
Probably ConfigurableCronJob is what you need - so that you can pass parameters
into the job. Or, you can take a look at the CocoonPipelineCronJob which
*creates* new background environment and invokes particular pipeline - so in
this case you'll have the request with URI as created by the cron job.
Vadim
> 3) Are there any general hints how to implement such a behaviour
> (call the same service from web interface and scheduler)?
>
> Thanks in advance!
>
> -- Andreas
|