[Catalyst] Catalys & TheSchwartz, was Catalyst modperl - child process segmentation fault

J. Shirley jshirley at gmail.com
Thu Jan 8 16:42:25 GMT 2009


On Thu, Jan 8, 2009 at 3:39 AM, Matija Grabnar <matija at serverflow.com> wrote:
>> afaict, you should let dbic / cat-model handle the connection to the
>> database.
>
> That reminds me. Does anybody have experience submitting TheSchwartz jobs
> from a Catalyst?
>
> TheSchwartz uses it's own system of allocating DB handles, and I have no
> idea how it interacts with
> Catalyst's.
>
> I *think* I'm safe because I'm not allocating any schwatz connections until
> I'm actually serving a
> Catalyst request, but I'd like to hear from anybody who has actual
> experience...
>

I've done quite a bit of work with TheSchwartz and Catalyst.

Catalyst does -nothing- with database handles.  Absolutely nothing.
If you use a database, chances are you are using
Catalyst::Model::DBIC::Schema which then uses DBIx::Class.

TheSchwartz uses Data::ObjectDriver for its ORM.  The two play just
fine together.

The model class for TheSchwartz is quite simple:

package MyApp::Model::TheSchwartz;

use base 'Catalyst::Model';

use TheSchwartz;

sub COMPONENT {
        return TheSchwartz->new( databases => $DATABASE_INFO );
}

1;

>From there, you can just do $c->model("TheSchwartz")->insert(...); and
the job will be inserted.  Look at the pod for TheSchwartz for the
database info, and the schema for TheSchwartz database is hidden away
in the distribution with no links:
http://search.cpan.org/src/BRADFITZ/TheSchwartz-1.07/doc/

TheSchwartz also fails tests so you have to force install, has
terrible documentation and is generally frustrating to use because of
these superficial shortcomings.

The code itself is sound enough, but the packaging and release is
quite terrible.  It will take you some time to sort it out and get
everything running, so good luck.  Once it is up and running, it is
quite simple and the API is good.


-J



More information about the Catalyst mailing list