というのを書いてみました。 といってもTheSchwartzのt/に入ってるdb-common.plからのほとんどコピペですが、 Pluginとか別パッケージで書く場合にあったほうが便利かなーとか思ったので。 こんなのいかが? 追記:codereposにいれてみました (http://coderepos.org/share/browser/lang/perl/TheSchwartz-Test) 追記:coderepos側のソースをみてもらえば十分なのでけしました
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
MySQLだと問題ないみたい。あと、job の引数に何を渡すかで変わってくるらしい…… [2010-2-16 追記] 追記時点での DBD::Pg と DBD::SQLite の最新版 (DBD::Pg-2.16.1, DBD::SQLite-1.29) では、以下に記述されているメモリリークは解消されています。記事自体は記録の意味も兼ねているので消さずに残しますが、ご注意ください。 ちなみに SQLite 用のスキーマは TheSchwartz 自身に同梱されていて t/schema-sqlite.sql に、PostgreSQL 用のはリポジトリの trunk にあります。doc/schema-postgres.sql 検証用のスクリプトは最後に載せますが、単に client が job を突っ込んで、worker が job を取り出して $job->completed() するだけ
TheSchwartz の worker を Ctrl-C とか kill で止めた場合に、job の処理が半端な状態で終わられると困る、という話。以前 Deamon::Generic で TheSchwartz の worker をデーモン化する(2) - 酒日記 はてな支店 で諦めたんだけど、ちょっと必要に迫られたので考えてみたら一応できたっぽい。 package MyWorker; use strict; use warnings; use base qw( TheSchwartz::Worker ); sub sighandler { warn "caught signal @_\n"; no warnings 'redefine'; *TheSchwartz::work_once = sub { exit }; } sub work { my ($class, $job) = @
今さらTheSchwartzを使い始めました。 で、jobの状態を監視するWebインターフェースをCatalystで作ることになったのですが、いちいちTheSchwartzのインスタンスを作るのが面倒くさい。 でもそのためにModel作るのもアホらしい。 で、Catalyst::Model::Adaptorを使ってMyApp::Model::TheSchwartzを作ってモデルとして使うのをやってみたのでメモ。 HelperスクリプトでMyApp::Model::TheSchwartzを作成 script/myapp_create.pl model TheSchwartz Adaptor TheSchwartz 出来上がったMyApp::Model::TheSchwartzを変更 package MyApp::Model::TheSchwartz; use strict; use w
Plagger4 月の末に PlaggerLDR にもどった とか言ってたけど、1 時間おきに Plagger まわしてたら、何重にも起動してひどいことになっていて、対策考えるのまんどくさくなってやめてた。1 時間かかっても巡回が終わらない原因は CPU の限界とかではなくて、相手の鯖の反応待ちの積み重ねなので、Plagger を平行動作させればウマーになるのではないかということで、TheSchwartz とくっつけてみることにした。フィード 1 個ごとに Job を 1 個発生させている。また、フィードごとに色々初期化すると重くなる原因なので、最初に読み込んだら読み直さずにずっと使い続けるようにした。Plagger のロード済みの config を書き換える部分は、昔 Catalyst + Plagger で遊んだときのコードそのまんまでうまくいった。eft_worker.pl #!/u
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
TheSchwartz の worker をデーモンにしたくて、どうしようかと。daemontools でもいいんだろうけど、CPAN で見つけた Daemon::Generic を使ってみた。 まず TheSchwartz の client (jobを投入する) と worker (jobを実行する) モジュールを普通に作る。 #!/usr/bin/perl # client.pl use strict; use TheSchwartz; use YAML qw/ LoadFile /; my $client = TheSchwartz->new( %{ LoadFile(shift) } ); $client->insert( 'MyWorker' => { t => time } ); package MyWorker; use strict; use base qw/ TheSch
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く