
Postfix master.cf ファイルには、qmgr サービスを起動するための定義が含まれています。
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (no) (never) (100)
# ==========================================================================
...
qmgr unix n - n 300 1 qmgr
...
qmgrよりマニュアルページ「受信メールの到着を待ち、Postfix 配信プロセスを介して配信を手配します。」確かに、メールが到着するとすぐに、受信キューとアクティブ キューに沿って移動しているのがわかります。
しかし、なぜウェイクアップ時間が必要なのでしょうか? qmgr プロセスは常に実行されており、作業を行っています。ウェイクアップ スケジュールでは、300 秒ごとに呼び出し後にのみ作業が行われるようにしていますが、その場合、その時間ごとにメールのみが移動されるため、あまり意味がありません。
答え1
詳細な「qmgr -v」を有効にすると、ログにさらに詳しい情報が出力され、プロセスは master.cf で定義されたスケジュール時間に起動するようです。
2024-01-22T11:53:09.068813+01:00 mx postfix/qmgr[3633521]: trigger_server_accept_local: trigger arrived
2024-01-22T11:53:09.068835+01:00 mx postfix/qmgr[3633521]: master_notify: status 0
2024-01-22T11:53:09.068841+01:00 mx postfix/qmgr[3633521]: request: 87 (W)
2024-01-22T11:53:09.068848+01:00 mx postfix/qmgr[3633521]: request: 0 (?)
2024-01-22T11:53:09.068854+01:00 mx postfix/qmgr[3633521]: request ignored
2024-01-22T11:53:09.068861+01:00 mx postfix/qmgr[3633521]: qmgr_scan_start: start incoming queue scan
2024-01-22T11:53:09.068867+01:00 mx postfix/qmgr[3633521]: master_notify: status 1
2024-01-22T11:53:09.068874+01:00 mx postfix/qmgr[3633521]: done incoming queue scan
新しいメールが到着すると、qmgr が起動し、指定されたメッセージ ファイルをアクティブ キューに挿入します。
2024-01-22T11:59:44.274607+01:00 mx postfix/qmgr[3633521]: trigger_server_accept_local: trigger arrived
2024-01-22T11:59:44.274630+01:00 mx postfix/qmgr[3633521]: master_notify: status 0
2024-01-22T11:59:44.274640+01:00 mx postfix/qmgr[3633521]: request: 87 (W)
2024-01-22T11:59:44.274649+01:00 mx postfix/qmgr[3633521]: request: 0 (?)
2024-01-22T11:59:44.274658+01:00 mx postfix/qmgr[3633521]: request ignored
2024-01-22T11:59:44.274667+01:00 mx postfix/qmgr[3633521]: qmgr_scan_start: start incoming queue scan
2024-01-22T11:59:44.274676+01:00 mx postfix/qmgr[3633521]: master_notify: status 1
2024-01-22T11:59:44.274685+01:00 mx postfix/qmgr[3633521]: qmgr_active_feed: queue incoming
2024-01-22T11:59:44.274695+01:00 mx postfix/qmgr[3633521]: qmgr_active_feed: incoming/419B440602
2024-01-22T11:59:44.274704+01:00 mx postfix/qmgr[3633521]: qmgr_message_alloc: active 419B440602
だから私は提案されたアイデアを確認することができますpostfix メールリスト
ポート 25 で接続が来たとき以外は、qmgr がまったく実行されないと思います。postfix のソース コードは見たことがありませんが、postfix は接続が来たときに qmgr をチェックし、実行されていないことを確認してそれを生成するほど賢いようです。同様に、5 分ごとに qmgr を起動しようとし、実行されていないことを確認してそれを生成します。
qmgr は、ウェイクアップ時間、新しいメールの到着、クリーンアップ サービスがそれを呼び出すまで、またマスター プロセスが構成されるまで待機する必要はありません。