フォーラム投稿時のメール配信処理について

フォーラム投稿時のメール配信処理について

- hiroki kobayashi の投稿
返信数: 7

はじめまして。

ニュースフォーラム投稿時に更新を通知するメールの処理について質問があります。

ニュースフォーラムに投稿時にすぐにメール送信するのチェックボックスをONにしても配信されません。

admin/cron.phpが実行されないといけないというのはわかったのですが、実行されません。

直接アクセスする・コンソールで実行すると配信されます。

何か設定が必要でしょうか?すぐに送信なので、cron自体の設定が必要とはあまり思えないのですが・・・。

mod/forum/lib.php の forum_cron() メソッドが実行されないといけないような気がするのですが、どこからも呼ばれていないような気がします。

※バージョンアップ前のものが残っているだけでしょうか

 

また、編集時間を超えたら配信するようですが、これも配信されません。

これはcronの設定が必要なのかと思いますが、この場合、編集時間とcronの時間設定を手動で合わせる必要があるという認識であっていますでしょうか?

 

よろしくお願いいたします。

-----------------------

Moodleのバージョン Moodle2.3.1

OS Centos

 

hiroki kobayashi への返信

Re: フォーラム投稿時のメール配信処理について

- Takayuki ISHIKAWA の投稿
画像 Developers

source code を読んでいないので違っているかも知れませんが、「すぐに送信」は、(編集猶予期間経過後の cron ではなく) すぐ後の cron で送信、ということではないでしょうか。これがもし cron を待たずに送信する設計になっていたら、もし2人の Moodle 利用者がほぼ同時に「すぐに送信」で投稿した場合に、SMTP server への access が2つほぼ同時に発生し、SMTP server に認証が必要な場合などにはどちらかが弾かれて配信されなくなる、などの事象が発生するような気がします。

Moodle は cron が設定されていることを前提に運用するものですし、送信したい mail は待ち行列にため込んだ上で cron で一気に送信するのが望ましい処理である気がするのですが、いかがでしょうか。(cron を設定せずに Moodle を運用したい場合は、source にかなり手を入れることになるかと思います。)

なお、Moodle server の負荷を気にしなければ、なるべく短い間隔で cron を呼び出してやることでお望みの状態に近くなると思います。経験上、ちゃんとした Moodle server であれば、1回の cron 呼び出しは殆ど10秒以内で終わります。(何ヶ月、何年も cron が呼び出されなかった server は、10分間もかかったりすることがあります。)

Takayuki ISHIKAWA への返信

Re: フォーラム投稿時のメール配信処理について

- hiroki kobayashi の投稿

ISHIKAWA様

返信有難うございます。

となると、すぐに送信は実質cronで設定している実行時間に依存するということでしょうか?

>「すぐに送信」は、(編集猶予期間経過後の cron ではなく) すぐ後の cron で送信

となると、cronを短い間隔で設定しておいて、すぐに送信設定がされている投稿に関しては、送信し、

設定されていないものに関しては、猶予期間が過ぎた後のcronで送信されるということでしょうか?

 

ISHIKAWA様の回答で理解ができそうです。助かりました。

cron.phpを深く読んでみたいと思います。

hiroki kobayashi への返信

Re: フォーラム投稿時のメール配信処理について

- Takayuki ISHIKAWA の投稿
画像 Developers

はい、多分そうだと思います。つまり、

5分間隔で cron を設定している Moodle で「すぐに送信」を選んだ場合 0~5分後に送信
30分間隔で cron を設定している Moodle で「すぐに送信」を選んだ場合 0~30分後に送信

だと思われます。

cron.php が再入可能かどうか、については、私は調べていないので分かりません。Moodle server の負荷もありますので、5分~30分くらいの間隔で cron を設定しているところが多いのではないかと憶測していますが、あまり自信はありません。

Takayuki ISHIKAWA への返信

Re: フォーラム投稿時のメール配信処理について

- hiroki kobayashi の投稿

間隔はサーバーとの負荷を見ながら設定していこうかと思います。

同様にフォーラム以外でcron.phpの実行で配信されるメール処理は他にありますでしょうか?

 

hiroki kobayashi への返信

Re: フォーラム投稿時のメール配信処理について

- T N の投稿

ファイルの高度なアップロードのフィードバックコメントのメール送信が、cron.phpの対象だと思います。

T N への返信

Re: フォーラム投稿時のメール配信処理について

- hiroki kobayashi の投稿

お礼が遅れ申しわけありません。

色々な処理があり便利ですが、知らないと使い切れていない状態になってしまってますね。