結城といいます。
どうしても、.forwardから、プログラムを実行しなくてはならないのであれば
別ですが、メールの着信に対して排他的にプログラム実行したいだけであれば、
個別にunixのpipeからプログラムに処理を引き渡してあげれば、
並列実行の防止ができるような気もします。。。(勘ですが)
master.cfで、
-------------------------------------------------------------------
hoge unix - n n - 1 pipe user=hoge argv=/usr/bin/hoge $recipient
-------------------------------------------------------------------
※argv以下はコマンド部分なので、適当ですが。。
という感じで、maxprocを1で適当に配送の定義して、
main.cfで、
-------------------------------------------------------------------
hoge_destination_recipient_limit = 1
hoge_destination_concurrency_limit = 1
-------------------------------------------------------------------
みたく、この配送の定義に対して、1配送を1ユーザにしてあげて、
Transportテーブルで、
-------------------------------------------------------------------
受信ドメイン hoge:
-------------------------------------------------------------------
みたく、hogeに配送処理を引き回してあげる。(だめかな??)
他のかたが、言われている手法の方がよいかとは思いますが。。。
> -----Original Message-----
> From:
[hidden email]
> [mailto:
[hidden email]] On Behalf Of
>
[hidden email]
> Sent: Wednesday, May 10, 2017 6:53 PM
> To:
[hidden email]
> Subject: [!][postfix-jp: 4392] .forwardとメール処理の排他制御について
>
> こんにちは。鈴木です。
>
> .forwardを利用してプログラムを実行するシステムを作成しているのですが、
> メールの排他制御についていまひとつ的を得ないので質問させてください。
>
> MailboxとMaildirがあると思いますが、私の認識ですとMaildir形式だと直列的
> に処理されるものだと思っています。(そのため結果的に排他)
> Mailboxは複数の配送プロセスで利用されるため排他的にはならないという認識で
> した。
> 上記の認識に齟齬はないでしょうか?
> メール受信時に.forwardからプログラムを呼ぶのですが意図して連続的に複数回
> メールを送信したときlogの結果が開始と終了が混ざっていたので気がかりです
> 2017-05-09 11:30:47 処理を開始します。
> 2017-05-09 11:30:47 処理を開始します。
> 2017-05-09 11:30:49 処理を終了します。
> 2017-05-09 11:30:50 処理を終了します。
>
> また設定ファイル/etc/postfix/main.cfを両方コメントアウトされていたのです
> がこの場合どちらの利用になるものなのでしょうか?
> #home_mailbox = Mailbox
> #home_mailbox = Maildir/
>
> _______________________________________________
> Postfix-jp-list mailing list
>
[hidden email]
>
http://lists.osdn.me/mailman/listinfo/postfix-jp-list_______________________________________________
Postfix-jp-list mailing list
[hidden email]
http://lists.osdn.me/mailman/listinfo/postfix-jp-list