Movable Type Plugin: Refeed
Movable Type のプラグインで Refeed というプラグインがあります。作者は Ben Trott です。
何をしてくれるプラグインかというと reblogging の機能をMovable Type 4 につけることです。
Refeed will then check every hour for new posts in those feeds, and it will pull in any new posts to be published on your own blog.
しかし、どうやって every hour を実現するのか?というのが気になったのでソースを見てみました。
Refeed プラグインの refeed.pl にある init_registryメソッドで以下のように登録しています。
sub init_registry { my $plugin = shift; $plugin->registry({ tasks => { CheckFeeds => { label => 'Check for updates to feeds (Refeed)', frequency => 60 * 60, code => sub { check_feeds( $plugin ); }, }, }, });}
60分間隔で check_feedsメソッドを動かすという設定になっています。
ところで、tasks というカテゴリに登録していますね。
(Movable Type のルートディレクトリを MT_ROOT とした場合、)MT_ROOT/tools/run-periodic-tasks が tasks として登録されたメソッドを実行します。
つまり run-periodic-tasks を動かしてあげれば、60分ごとにフィードを取得してくれるようになります。
ところで、run-periodic-tasks ですが、ソースコードに以下の行があります。
require MT::TheSchwartz;
つまり
Six Apart のオープンソースプロジェクトのひとつである TheSchwartz が必要になります。
結局のところ、TheSchwartz が動作するサーバでじゃないと Refeed は動かないということになりますね。。。
結論、私は XREA の無料サービスを使っているので TheSchwartz はインストールできないっぽいです。さらには cron も使えません。。。残念でした。
ということで、Refeed は『指定したフィードを run-periodic-tasks によって自動的に取得し、XMLRPC サーバ経由でエントリを自動的に投稿してくれるプラグイン』なのでした。
参照
Comments