[Handel] Handel 0.99_02 bugs and problems...
tom.kirkpatrick at virusbtn.com
tom.kirkpatrick at virusbtn.com
Tue Jun 6 14:23:36 CEST 2006
Thanks for your hard work rushing an _2 out the door...
I did send these email earlier but have a feeling they never got through
for some reason... So here they are again (all combined into one lovely
message ;)
- apologies if this is the second time your reading this :p
-----------
Passing my schema into schema_instance() takes an age and a half to
process. My schema is rather large (51 tables in total), but still.
I tried preloading my Handel subclasses in my apache statup.pl
It took 1:32 until apache had finished loading and spawned off it's
children as opposed to 0:21 without it. But that's not the end of the
story... Even with it preloaded like that, it then takes a further 42
seconds for each child to make it's own connection and Handel to do it's
package molesting...
I guess there's little point of preloading it in Apache anyway since each
child need's to do it's own connection stuff regardless, but
there has to be a better way!!!
-----------
-----------
It seems that the vast majority of time is spent on the injection of the
Handel components:
If I comment out all the component injection code in Handel::Storage, I
can use My::Handel::Order in:
28.833u 0.132s 0:29.15 99.3% 1072+27519k 0+0io 0pf+0w
with that code left in, it takes:
102.245u 0.171s 1:43.30 99.1% 1071+34448k 0+0io 0pf+0w
And I don't even want any of them injected into my schemas!
I know Handel::Storage tries to detect if the components are needed or
not, but because My::Handel::Order subclasses Handel::Order, these
components are loaded by default... How can I remove them from my
subclass?
-----------
-----------
$my_order->reconcile() does not seem to like using classes that have the
new InflateColumn::DateTime component loaded. I think it's to do with the
way that copy_cart_items tries to make a copy of the order item. I guess
it's bypassing the deflate() method or something.
_____
_____
I have some order items that were generated with reconcile() (after
messing around with it and forcing an item in there)... but they don't
seem to be complete objects. That is, all the methods and columns that I
added to my OrderItem subclass are not available - I can only use those
methods which are defined in Handel::Order::Item. I can however access my
own methods/relationships etc by doing:
$order->items->first->storage->my_method
rather than
$order->items->first->my_method
(Can't locate object method "my_method" via package "VBTN::Order::Item" at
(eval 688) line 89.
Sorry bout all that!
--
Tom Kirkpatrick
Web Developer - Virus Bulletin
More information about the Handel
mailing list