Tasksの実装について質問があります

798 views
Skip to first unread message

hiroyuki ishiyama

unread,
Apr 26, 2012, 4:19:13 AM4/26/12
to fuelp...@googlegroups.com
はじめまして。
この度グループに参加させていただきました。
よろしくお願いします。

早速ですが、FuelPHPのTasksについて質問があります。

■環境
Cent 5.7
Apache 2.2.3
PHP 5.3.10

■やりたいこと
cronを使用し、定期的にMongoDB上のデータをバッチ処理をしたい。
その際にせっかくなのでTasksを利用したい。

■困っていること
サンプルを参考にサーバー上でコマンドをうち
[user]$ php oil refine robots
とすると、ドキュメントにあるようにロボットのAAと指定した引数による処理が実行されます。
が、自分で作成した tasks/hoge.php を実行すると

[user]$ php oil refine hoge 
Error: Task "hoge" does not exist. Did you mean "robots"?

のように赤文字エラーが表示され実行できません。

作成したクラスは下記です。

tasks/hoge.php
<?php
namespace Fuel\Tasks;
class Hoge{
public static function run($arg = null){
echo 'hello world!!';
}
}

となります。

初歩的な質問で申し訳ないのですがアドバイスなどいただけると助かります。

Kenji Suzuki

unread,
Apr 26, 2012, 5:14:17 AM4/26/12
to fuelp...@googlegroups.com
Kenji です。
はじめまして。


On Thu, 26 Apr 2012 01:19:13 -0700 (PDT)
hiroyuki ishiyama <chob...@gmail.com> wrote:

> はじめまして。
> この度グループに参加させていただきました。
> よろしくお願いします。
>
> 早速ですが、FuelPHPのTasksについて質問があります。
>
> ■環境
> Cent 5.7
> Apache 2.2.3
> PHP 5.3.10
>
> ■やりたいこと
> cronを使用し、定期的にMongoDB上のデータをバッチ処理をしたい。
> その際にせっかくなのでTasksを利用したい。
>
> ■困っていること
> サンプルを参考にサーバー上でコマンドをうち
> [user]$ php oil refine robots
> とすると、ドキュメントにあるようにロボットのAAと指定した引数による処理が実行されます。
> が、自分で作成した tasks/hoge.php を実行すると
>
> [user]$ php oil refine hoge
> Error: Task "hoge" does not exist. Did you mean "robots"?
>
> のように赤文字エラーが表示され実行できません。
>
> 作成したクラスは下記です。

このクラスはどこに配置されていますでしょうか?

以下のタスクはどこも間違っていません。実行できないとすれば、
配置場所が間違っていることくらいしか考えられません。

> tasks/hoge.php
> <?php
> namespace Fuel\Tasks;
> class Hoge{
> public static function run($arg = null){
> echo 'hello world!!';
> }
> }
>
> となります。
>
> 初歩的な質問で申し訳ないのですがアドバイスなどいただけると助かります。


// Kenji

hiroyuki ishiyama

unread,
Apr 26, 2012, 5:32:52 AM4/26/12
to fuelp...@googlegroups.com
Kenji 様

ご返信ありがとうございます。

このクラスはどこに配置されていますでしょうか? 
以下のタスクはどこも間違っていません。実行できないとすれば、 
配置場所が間違っていることくらいしか考えられません。 

robots.phpと同じ箇所に配置しております。
パスで言うと、fuel/app/tasks/ 配下です。

よろしくお願いします。



2012年4月26日木曜日 18時14分17秒 UTC+9 Kenji Suzuki:

hiroyuki ishiyama

unread,
Apr 26, 2012, 5:49:42 AM4/26/12
to fuelp...@googlegroups.com
自己レスで申し訳ありません。
とても恥ずかしい間違いをしていたことに気づきました。

oilのソースをのぞいてみたところ、パスなどをdefineしていることに気づきもしや・・・と。

fuelのソースコードをzipダウンロードし解凍した後、実際に運用しているディレクトリに
コピーしているのですがその際に「oil」ファイルをコピーしていませんでした。

今回のケースはoilファイルが見つからなかったため、てっきり元のソースコードの
置いてある場所でコマンドを実行するものだとばかり思い込み、oilを実行していました。
当然標準のrobots.phpは動きました…

本当にくだらない質問をしてしまいすみませんでした。
おかげさまでテストコードが無事動きましたのでcron処理を作成したいと思います。
ありがとうございました。


2012年4月26日木曜日 18時32分52秒 UTC+9 hiroyuki ishiyama:
Reply all
Reply to author
Forward
0 new messages