ç§èªèº«ã¯ç¢ºèªããŠããªãã®ã§ãããFastCGIç°å¢ã§ã®æååãã®å¯èœæ§ãããã®ã§ã¯ãªãããšæã£ãŠããŸããtwitterã§junnamaããããåå¿ããã£ãã®ã§èŠ³æž¬å¯èœãªçŸè±¡ã®ããã§ãã
ããžãã¯ãšããŠã¯ã
- FastCGIç°å¢ãªã©ã§DB connectããŠããŠãã®æ¥ç¶ãã¿ã€ã ã¢ãŠãããŠdisconnectç¶æ
ã«ãªãå Žåãæ³å®ããã
- ãã®ãšããFCGIããã»ã¹ãäœããã®DB
queryãããããšãããšããD::OD::Driver::DBI->rw_handle()ã§DB handleãååŸããããšããã
- rw_handle()ã¯ããã§ã«ååŸããŠããhandleãã©ã€ããªããããè¿ããããã§ãªããã°reconnectããŠDB handleãçæããŠè¿ãã
- reconnectã®å Žåã«ã¯ãåãã£ãŠSET NAMESãªã©ãå®è¡ãããããšãªããqueryããããªãããã
- ãããã£ãŠæååãããã
ãšããããšã§ããã€ãŸãããreconnectæã«MT::ObjectDriver::Driver::DBI->configure()ãåŒã°ããªããã°ãªããªããããããåŒã°ããŠããªãããšããåé¡ã ãšèšããŸãã
å®çŽã«ã¯äžã®ãããªããããåœãŠãã°æžã¿ãŸãã
Index: lib/MT/ObjectDriver/Driver/DBI.pm
===================================================================
--- lib/MT/ObjectDriver/Driver/DBI.pm (revision 2048)
+++ lib/MT/ObjectDriver/Driver/DBI.pm (working copy)
@@ -20,6 +20,26 @@
$driver;
}
+# Copied from Data::ObjectDriver::Driver::DBI
+sub rw_handle {
+ my $driver = shift;
+ my $db = shift || 'main';
+ $driver->dbh(undef) if $driver->dbh and !$driver->dbh->ping;
+ my $dbh = $driver->dbh;
+ unless ($dbh) {
+ if (my $getter = $driver->get_dbh) {
+ $dbh = $getter->();
+ } else {
+ $dbh = $driver->init_db($db) or die $driver->last_error;
+ $driver->dbh($dbh);
+ # reconfigure is required when reconnected
+ $driver->configure;
+ }
+ }
+ $dbh;
+}
+*r_handle = \&rw_handle;
+
ãã®ãããã«ã¯ãMT::ObjectDriverFactory->configure()ããã¡ãã¡ã§åŒãã§ããããã§ãset
namesãäºåºŠä»¥äžå®è¡ããããšããå¥ã®åé¡ããããŸããrw_handle()ã§åŒãã§ãã®ã ãããä»ã®ãšããã§åŒã¶å¿
èŠã¯ãªããªãã¯ãã§ãããããåçŽãªåé¡ãªã®ãã¯ããåãããŸããã
ãã®ä»¶ã«é¢ããŠãã©ãã£ãŠããæ¹ãããã°ãã³ã¡ã³ããã ãããŸãã
--
Hirotaka Ogawa
http://twitter.com/ogawa
http://as-is.net/blog/
éç°ã§ãã
ãšãããããæååãããç°å¢ã§ããããåœãŠãŠã¿ãŸããã
è€æ°ã®ç°å¢ã§æ§åãèŠãŠããŸããã£ãŒãããã¯ããŸãã
On 2008/04/23, at 13:48, Hirotaka Ogawa wrote:
>
> å°å·ã§ãã
>
> ç§èªèº«ã¯ç¢ºèªããŠããªãã®ã§ãããFastCGIç°å¢ã§ã®æååã
> ã®å¯èœæ§ãããã®ã§ã¯ãªãããšæã£ãŠããŸããtwitterã§
> junnamaããããåå¿ããã£ãã®ã§èŠ³æž¬å¯èœãªçŸè±¡ã®ããã§ãã
>
> ããžãã¯ãšããŠã¯ã
>
> - FastCGIç°å¢ãªã©ã§DB connectããŠããŠãã®æ¥ç¶ãã¿ã€ã ã¢
2008/4/24 éç° çŽç <jun...@alfasado.jp>:
>
> å°å·ãã
>
> éç°ã§ãã
> ãšãããããæååãããç°å¢ã§ããããåœãŠãŠã¿ãŸããã
>
> è€æ°ã®ç°å¢ã§æ§åãèŠãŠããŸããã£ãŒãããã¯ããŸãã
ãããããé¡ãããŸãã
ããããã§ããŸãè¡ããããªãããã®ãããã«å ããŠãMT::ObjectDriverFactory->configure()ã®äžèº«ãã³ã¡ã³ãã¢ãŠãããŠã¿ãŠãåé¡ãªããã©ããã確èªããŠããã ãããšéåžžã«å©ãããŸã
_o_
sub configure {
# my $pkg = shift;
# $_->configure(@_) for @drivers;
}
> On 2008/04/23, at 13:48, Hirotaka Ogawa wrote:
>
>
> >
> > å°å·ã§ãã
> >
> >
> ç§èªèº«ã¯ç¢ºèªããŠããªãã®ã§ãããFastCGIç°å¢ã§ã®æååãã®å¯èœæ§ãããã®ã§ã¯ãªãããšæã£ãŠããŸããtwitterã§junnamaããããåå¿ããã£ãã®ã§èŠ³æž¬å¯èœãªçŸè±¡ã®ããã§ãã
> >
> > ããžãã¯ãšããŠã¯ã
> >
> > - FastCGIç°å¢ãªã©ã§DB connectããŠããŠãã®æ¥ç¶ãã¿ã€ã ã¢ãŠãããŠdisconnectç¶æ
ã«ãªãå Žåãæ³å®ããã
> > - ãã®ãšããFCGIããã»ã¹ãäœããã®DB
> > queryãããããšãããšããD::OD::Driver::DBI->rw_handle()ã§DB handleãååŸããããšããã
> > - rw_handle()ã¯ããã§ã«ååŸããŠããhandleãã©ã€ããªããããè¿ããããã§ãªããã°reconnectããŠDB
> handleãçæããŠè¿ãã
> > - reconnectã®å Žåã«ã¯ãåãã£ãŠSET NAMESãªã©ãå®è¡ãããããšãªããqueryããããªãããã
> > - ãããã£ãŠæååãããã
> >
> >
> ãšããããšã§ããã€ãŸãããreconnectæã«MT::ObjectDriver::Driver::DBI->configure()ãåŒã°ããªããã°ãªããªããããããåŒã°ããŠããªãããšããåé¡ã ãšèšããŸãã
> > ãã®ãããã«ã¯ãMT::ObjectDriverFactory->configure()ããã¡ãã¡ã§åŒãã§ããããã§ãset
> >
> namesãäºåºŠä»¥äžå®è¡ããããšããå¥ã®åé¡ããããŸããrw_handle()ã§åŒãã§ãã®ã ãããä»ã®ãšããã§åŒã¶å¿ èŠã¯ãªããªãã¯ãã§ãããããåçŽãªåé¡ãªã®ãã¯ããåãããŸããã
éç°ã§ãã
ãšããããäžã€ã®ç°å¢ã§ã¯æååãããªãããšã確èªããŸãããä»ã®å
é¡ãèµ·ããŠããªãæ§åã§ãã
ä»ã®ç°å¢ã§ãåŒãç¶ã詊ããŠã¿ãŸãã鱿«ã®ãã¡ã«ã¯å ±åã§ãããšæã
ãŸãã
On 2008/04/25, at 0:20, Hirotaka Ogawa wrote:
>
> å°å·ã§ãã
>
> 2008/4/24 éç° çŽç <jun...@alfasado.jp>:
>>
>> å°å·ãã
>>
>> éç°ã§ãã
>> ãšãããããæååãããç°å¢ã§ããããåœãŠãŠã¿ãŸããã
>>
>> è€æ°ã®ç°å¢ã§æ§åãèŠãŠããŸããã£ãŒãããã¯ããŸãã
>
> ãããããé¡ãããŸãã
>
> ããããã§ããŸãè¡ããããªãããã®ãããã«å ããŠã
> MT::ObjectDriverFactory->configure()ã®äžèº«ãã³ã¡ã³ãã¢ãŠãããŠ
> ã¿ãŠãåé¡ãªããã©ããã確èªããŠããã ãããšéåžžã«å©ãããŸã
> _o_
>
> sub configure {
> # my $pkg = shift;
> # $_->configure(@_) for @drivers;
> }
>
>> On 2008/04/23, at 13:48, Hirotaka Ogawa wrote:
>>
>>
>>>
>>> å°å·ã§ãã
>>>
>>>
>> ç§èªèº«ã¯ç¢ºèªããŠããªãã®ã§ãããFastCGIç°å¢ã§ã®æååã
>> ã®å¯èœæ§ãããã®ã§ã¯ãªãããšæã£ãŠããŸããtwitterã§
>> junnamaããããåå¿ããã£ãã®ã§èŠ³æž¬å¯èœãªçŸè±¡ã®ããã§ãã
>>>
>>> ããžãã¯ãšããŠã¯ã
>>>
>>> - FastCGIç°å¢ãªã©ã§DB connectããŠããŠãã®æ¥ç¶ãã¿ã€ã
>>> ã¢ãŠãããŠdisconnectç¶æ
ã«ãªãå Žåãæ³å®ããã
>>> - ãã®ãšããFCGIããã»ã¹ãäœããã®DB
>>> queryãããããšãããšããD::OD::Driver::DBI->rw_handle
>>> ()ã§DB handleãååŸããããšããã
>>> - rw_handle()ã¯ããã§ã«ååŸããŠããhandleãã©ã€ããªã
>>> ãããè¿ããããã§ãªããã°reconnectããŠDB
>> handleãçæããŠè¿ãã
>>> - reconnectã®å Žåã«ã¯ãåãã£ãŠSET NAMESãªã©ãå®è¡ãã
>>> ãããšãªããqueryããããªãããã
>>> - ãããã£ãŠæååãããã
>>>
>>>
>> ãšããããšã§ããã€ãŸãããreconnectæã«
>> MT::ObjectDriver::Driver::DBI->configure()ãåŒã°ããªããã°ãª
>>> ãã®ãããã«ã¯ãMT::ObjectDriverFactory->configure()ã
>>> ãã¡ãã¡ã§åŒãã§ããããã§ãset
>>>
>> namesãäºåºŠä»¥äžå®è¡ããããšããå¥ã®åé¡ããããŸããrw_handle
>> ()ã§åŒãã§ãã®ã ãããä»ã®ãšããã§åŒã¶å¿
èŠã¯ãªããªãã¯ãã§ã
éç°ã§ãã
ã¬ã¹ãé
ããªã£ãŠãããŸããã
ããããåœãŠãããšãããã« MT/ObjectDriverFactory.pm
ã®âã®äžèº«ãã³ã¡ã³ãã¢ãŠã ããŠç¢ºèªããŸããã (4.1å
ã³4.15) è€æ°ç°å¢ (MacOSX 10.3+MySQL5.0.41 åã³
Ubuntu +MySQL - 5.0.22 )
sub configure {
my $pkg = shift;
$_->configure(@_) for @drivers;
}
1é±éçšéçšããŸããããæååãã¯èµ·ãã£ãŠããŸãããããããåœãŠ
ãåã¯ã3ïœ24æéçšåºŠãã®ãŸãŸã«ããŠãããšããªãã®ç¢º
çã§æååãããŠããŸããã
ãããããé¡ãããŸãã
On 2008/04/25, at 0:20, Hirotaka Ogawa wrote:
>
> å°å·ã§ãã
>
> 2008/4/24 éç° çŽç <jun...@alfasado.jp>:
>>
>> å°å·ãã
>>
>> éç°ã§ãã
>> ãšãããããæååãããç°å¢ã§ããããåœãŠãŠã¿ãŸããã
>>
>> è€æ°ã®ç°å¢ã§æ§åãèŠãŠããŸããã£ãŒãããã¯ããŸãã
>
> ãããããé¡ãããŸãã
>
> ããããã§ããŸãè¡ããããªãããã®ãããã«å ããŠã
> MT::ObjectDriverFactory->configure()ã®äžèº«ãã³ã¡ã³ãã¢ãŠãããŠ
> ã¿ãŠãåé¡ãªããã©ããã確èªããŠããã ãããšéåžžã«å©ãããŸã
> _o_
>
> sub configure {
> # my $pkg = shift;
> # $_->configure(@_) for @drivers;
> }
>
>> On 2008/04/23, at 13:48, Hirotaka Ogawa wrote:
>>
>>
>>>
>>> å°å·ã§ãã
>>>
>>>
>> ç§èªèº«ã¯ç¢ºèªããŠããªãã®ã§ãããFastCGIç°å¢ã§ã®æååã
>> ã®å¯èœæ§ãããã®ã§ã¯ãªãããšæã£ãŠããŸããtwitterã§
>> junnamaããããåå¿ããã£ãã®ã§èŠ³æž¬å¯èœãªçŸè±¡ã®ããã§ãã
>>>
>>> ããžãã¯ãšããŠã¯ã
>>>
>>> - FastCGIç°å¢ãªã©ã§DB connectããŠããŠãã®æ¥ç¶ãã¿ã€ã
>>> ã¢ãŠãããŠdisconnectç¶æ
ã«ãªãå Žåãæ³å®ããã
>>> - ãã®ãšããFCGIããã»ã¹ãäœããã®DB
>>> queryãããããšãããšããD::OD::Driver::DBI->rw_handle
>>> ()ã§DB handleãååŸããããšããã
>>> - rw_handle()ã¯ããã§ã«ååŸããŠããhandleãã©ã€ããªã
>>> ãããè¿ããããã§ãªããã°reconnectããŠDB
>> handleãçæããŠè¿ãã
>>> - reconnectã®å Žåã«ã¯ãåãã£ãŠSET NAMESãªã©ãå®è¡ãã
>>> ãããšãªããqueryããããªãããã
>>> - ãããã£ãŠæååãããã
>>>
>>>
>> ãšããããšã§ããã€ãŸãããreconnectæã«
>> MT::ObjectDriver::Driver::DBI->configure()ãåŒã°ããªããã°ãª
>>> ãã®ãããã«ã¯ãMT::ObjectDriverFactory->configure()ã
>>> ãã¡ãã¡ã§åŒãã§ããããã§ãset
>>>
>> namesãäºåºŠä»¥äžå®è¡ããããšããå¥ã®åé¡ããããŸããrw_handle
>> ()ã§åŒãã§ãã®ã ãããä»ã®ãšããã§åŒã¶å¿
èŠã¯ãªããªãã¯ãã§ã
>> ããããåçŽãªåé¡ãªã®ãã¯ããåãããŸããã
>>>
>>> ãã®ä»¶ã«é¢ããŠãã©ãã£ãŠããæ¹ãããã°ãã³ã¡ã³ããã ãããŸãã
(signature)________________________________
Alfasado,Inc.(ã¢ã«ãã¡ãµãŒã)
éç°çŽç (Web Solution Engineer)
WebSite :<http://alfasado.net/>
e-mail :<mailto:jun...@alfasado.net>
ã107-0052æ±äº¬éœæž¯åºèµ€å7-9-5 èµ€åQãã«
502å·
03-3586-5405/03-3586-5406(Tokyo)
ã550-0005倧éªåžè¥¿åºè¥¿æ¬çº1-10-3 æ°æŸå²¡ãã«502å·
06-6534-3772/06-6534-3773(Osaka)
___________________________________________
PowerCMS for MT1.1 Release!
http://alfasado.net/contents/power_cms/
ããããšãããããŸãããã®ä»¶ã¯BTSã«ç»é²æžã¿ã§ãããéç°ããã®çµæãèžãŸããŠå²ãšåŒ·æ°ã«ä¿®æ£ãè¿«ãããšãã§ããããã«ãªããŸãã ^_^
http://bugs.movabletype.org/default.asp?79506
2008/5/13 éç° çŽç <jun...@alfasado.jp>:
>
> å°å·ãã
>
> éç°ã§ãã
> ã¬ã¹ãé
ããªã£ãŠãããŸããã
>
> ããããåœãŠãããšãããã« MT/ObjectDriverFactory.pm
>
> ã®âã®äžèº«ãã³ã¡ã³ãã¢ãŠã ããŠç¢ºèªããŸããã (4.1åã³4.15) è€æ°ç°å¢ (MacOSX 10.3+MySQL5.0.41 åã³ Ubuntu
> +MySQL - 5.0.22 )
>
>
> sub configure {
> my $pkg = shift;
> $_->configure(@_) for @drivers;
> }
>
> 1é±éçšéçšããŸããããæååãã¯èµ·ãã£ãŠããŸãããããããåœãŠãåã¯ã3ïœ24æéçšåºŠãã®ãŸãŸã«ããŠãããšããªãã®ç¢ºçã§æååãããŠããŸããã
>
> ãããããé¡ãããŸãã
>
>
> On 2008/04/25, at 0:20, Hirotaka Ogawa wrote:
>
>
>
> >
> > å°å·ã§ãã
> >
> > 2008/4/24 éç° çŽç <jun...@alfasado.jp>:
> >
> > >
> > > å°å·ãã
> > >
> > > éç°ã§ãã
> > > ãšãããããæååãããç°å¢ã§ããããåœãŠãŠã¿ãŸããã
> > >
> > > è€æ°ã®ç°å¢ã§æ§åãèŠãŠããŸããã£ãŒãããã¯ããŸãã
> > >
> >
> > ãããããé¡ãããŸãã
> >
> >
> ããããã§ããŸãè¡ããããªãããã®ãããã«å ããŠãMT::ObjectDriverFactory->configure()ã®äžèº«ãã³ã¡ã³ãã¢ãŠãããŠã¿ãŠãåé¡ãªããã©ããã確èªããŠããã ãããšéåžžã«å©ãããŸã
> > _o_
> >
> > sub configure {
> > # my $pkg = shift;
> > # $_->configure(@_) for @drivers;
> > }
> >
> >
> > > On 2008/04/23, at 13:48, Hirotaka Ogawa wrote:
> > >
> > >
> > >
> > > >
> > > > å°å·ã§ãã
> > > >
> > > >
> > > >
> > >
> ç§èªèº«ã¯ç¢ºèªããŠããªãã®ã§ãããFastCGIç°å¢ã§ã®æååãã®å¯èœæ§ãããã®ã§ã¯ãªãããšæã£ãŠããŸããtwitterã§junnamaããããåå¿ããã£ãã®ã§èŠ³æž¬å¯èœãªçŸè±¡ã®ããã§ãã
> > >
> > > >
> > > > ããžãã¯ãšããŠã¯ã
> > > >
> > > > - FastCGIç°å¢ãªã©ã§DB connectããŠããŠãã®æ¥ç¶ãã¿ã€ã ã¢ãŠãããŠdisconnectç¶æ
ã«ãªãå Žåãæ³å®ããã
> > > > - ãã®ãšããFCGIããã»ã¹ãäœããã®DB
> > > > queryãããããšãããšããD::OD::Driver::DBI->rw_handle()ã§DB handleãååŸããããšããã
> > > > - rw_handle()ã¯ããã§ã«ååŸããŠããhandleãã©ã€ããªããããè¿ããããã§ãªããã°reconnectããŠDB
> > > >
> > > handleãçæããŠè¿ãã
> > >
> > > > - reconnectã®å Žåã«ã¯ãåãã£ãŠSET NAMESãªã©ãå®è¡ãããããšãªããqueryããããªãããã
> > > > - ãããã£ãŠæååãããã
> > > >
> > > >
> > > >
> > >
> ãšããããšã§ããã€ãŸãããreconnectæã«MT::ObjectDriver::Driver::DBI->configure()ãåŒã°ããªããã°ãªããªããããããåŒã°ããŠããªãããšããåé¡ã ãšèšããŸãã
> > > > ãã®ãããã«ã¯ãMT::ObjectDriverFactory->configure()ããã¡ãã¡ã§åŒãã§ããããã§ãset
> > > >
> > > >
> > >
> namesãäºåºŠä»¥äžå®è¡ããããšããå¥ã®åé¡ããããŸããrw_handle()ã§åŒãã§ãã®ã ãããä»ã®ãšããã§åŒã¶å¿ èŠã¯ãªããªãã¯ãã§ãããããåçŽãªåé¡ãªã®ãã¯ããåãããŸããã
> > >
> > > >
> > > > ãã®ä»¶ã«é¢ããŠãã©ãã£ãŠããæ¹ãããã°ãã³ã¡ã³ããã ãããŸãã
> > > >
> > >
> >
>
> (signature)________________________________
>
> Alfasado,Inc.(ã¢ã«ãã¡ãµãŒã)
> éç°çŽç (Web Solution Engineer)
>
> WebSite :<http://alfasado.net/>
> e-mail :<mailto:jun...@alfasado.net>
> ã107-0052æ±äº¬éœæž¯åºèµ€å7-9-5 èµ€åQãã«502å·
> 03-3586-5405/03-3586-5406(Tokyo)
>
> ã550-0005倧éªåžè¥¿åºè¥¿æ¬çº1-10-3 æ°æŸå²¡ãã«502å·
> 06-6534-3772/06-6534-3773(Osaka)
> ___________________________________________
> PowerCMS for MT1.1 Release!
> http://alfasado.net/contents/power_cms/
>
>
>
>
--
éç°ã§ãã
æ€èšŒã»è¿ä¿¡ãé ããªã£ãŠãããŸããã
æååãã®ä»¶ã§ããããããé©çšåŸããã€ãã®ç°å¢(MySQL
+mod_fastcgi)ã§ãã¹ãããŸãã(2æ¥ïœ1é±éçšåºŠãã®ãŸãŸ
åãããŸãã)ããåé¡ãªã(æååãçºçãã)å
äœããŠããŸãã
ã²ãšãŸãããã®ä»¶ã«é¢ããŠç§ã®èªèã§ã¯åé¡ãªããšæããŸãã
ãããããé¡ãããŸãã
On 2008/05/21, at 10:32, Fumiaki Yoshimatsu wrote:
>
> ãã®ä»¶ã§ãããhttp://code.sixapart.com/trac/movabletype/
> changeset/2367ã«ãŠä¿®æ£ãå
¥ããŠ
> ã¿ãŠããŸãããã ãã·ãã¯ã¹ã»ã¢ããŒãå
ã§ããããåçŸã§ããŠããª
> ãã®ã§ãæ€èšŒãã§ããŠããŸãããéç°ãããããã§ããããä¿®æ£ãã
> ãŠãããã©ããæ€èšŒ
> ããŠããã ãããšå©ãããŸãã
>
> åæŸ
(signature)________________________________
Alfasado,Inc.(ã¢ã«ãã¡ãµãŒã)
éç°çŽç