全般的日本語フォーラム

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

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

はじめまして。

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

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

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

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

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

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

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

 

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

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

 

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

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

Moodleのバージョン Moodle2.3.1

OS Centos

 

 
評点平均: -
画像 Takayuki ISHIKAWA
Re: フォーラム投稿時のメール配信処理について
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分間もかかったりすることがあります。)

 
評点平均:有益(Useful) (1)
画像 hiroki kobayashi
Re: フォーラム投稿時のメール配信処理について
 

ISHIKAWA様

返信有難うございます。

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

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

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

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

 

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

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

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

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

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

だと思われます。

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

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

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

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

 

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

すみません、cron.php の他の処理については、あいにく分かりません。

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

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

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

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

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