[Catalyst] Using URIs for my app in another program

Robert Krimen robertkrimen at gmail.com
Thu May 1 23:34:08 BST 2008


The most straightforward method I can think of is to factor out the URIs to
a common config file.

You can have your daemon read in the config file and generate URIs from
that. Your Catalyst application can either continue to use
base to generate URIs or you can generate some special URIs from the config
file as well.

The problem with having your daemon load up Catalyst to generate a URI is
that I'm not sure how that would work. Catalyst generates URIs
given a HTTP request. No HTTP request, no base URI.

Another safety measure is that you can have your Catalyst appl do a sanity
check against the URI config file to make sure it doesn't become out of date
(maybe a startup test request).

Rob

On Thu, May 1, 2008 at 2:27 PM, Byron Young <Byron.Young at riverbed.com>
wrote:

> Hi all
>
> I've run into a situation that I can't find a good solution to and am
> hoping to solicit some ideas from people on the list here.
>
> An app I've been working on consists of two main parts - a Catalyst-based
> web app which provides the UI, and a daemon that does the heavy lifting.
>  They are totally separate applications that talk to one another via
> database.  The daemon will sometimes send emails to users when it finishes
> certain tasks that the users are interested in, and I want to include lin=
ks
> in the emails that would bring the user to a Results page on the web app
> where they can get more information about the result of the task.
>
> So, what I would like is to be able to call $c->uri_for() from my daemon.
>  Is there any 'sanctioned' way of doing that?  If possible, I'd like to
> avoid loading my whole catalyst app and somehow tricking it into believing
> its running under the same environment as my real app.
>
> Another option is to use the database to pass URIs around.  Maybe a URI
> table that maps finished tasks to URIs.  However, I would rather just be
> able to arbitrarily call $c->uri_for() whenever I decide I need to includ=
e a
> URI in my daemon instead of having to create a table or column whenever I
> decide I want to send a link to a new type of resource.
>
> Any suggestions?  Maybe I'm just going about it all wrong?
>
> Thanks!
>
> Byron
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20080501/5618d=
cf3/attachment.htm


More information about the Catalyst mailing list