LEI-DAEMON(8) public-inbox user manual LEI-DAEMON(8)

lei-daemon - اطلاعات فنی درباره دیمن رابط ایمیل محلی

این مستندات یک نمای کلی سطح بالا برای توسعه‌دهندگان و مدیران سیستمی است که علاقه‌مند به نحوه کارکرد lei هستند.

برنامه lei-daemon یک دیمن پس‌زمینه است که ابزار خط فرمان lei(1) را پشتیبانی و اجرا می‌کند. این دیمن ممکن است در آینده از کاربران مجازی و APIهای خواندن/نوشتن IMAP+JMAP پشتیبانی کند. این دیمن طوری طراحی شده است که با اجتناب از هزینه‌های بارگذاری ماژول‌ها، تکمیل خودکار پوسته را بهینه‌سازی کرده و Maildirها (و در آینده نزدیک، پوشه‌های IMAP) را برای تغییرات پایش کند.

بیشتر دستورات باعث می‌شوند lei-daemon فرایندهای کارگر (worker) جدیدی را برای جداسازی و موازی‌سازی کارها fork(2) کند. lei-daemon از نظر مصرف منابع به‌طور قابل توجهی تهاجمی‌تر از فرایندهای فقط‌خواندنی public-inbox-daemon(8) عمل می‌کند، چرا که برای پشتیبانی از سناریوهای C10K/C100K طراحی نشده است.

انتقال توصیف‌گر فایل (FD passing) برای کاهش هزینه‌های IPC در ورودی/خروجی‌های حجیم (bulk I/O) هنگام وارد کردن (import) mboxهای بزرگ از ورودی استاندارد (stdin) و ریختن (dump) mboxهای بزرگ به خروجی استاندارد (stdout) استفاده می‌شود.

سوکت‌های SOCK_SEQPACKET هم برای برقراری ارتباط با lei(1) و هم برای ارتباط با کارگران داخلی استفاده می‌شوند. SOCK_SEQPACKET برخلاف SOCK_DGRAM، قابلیت اطمینان را تضمین می‌کند، امکان توزیع آسان بار را فراهم می‌سازد و توسعه‌دهندگان را از زحمت نگهداری و مدیریت تجزیه‌کننده‌های جریان داده (stream parsers) بی‌نیاز می‌سازد.

بسته به پلتفرم، از Inotify یا EVFILT_VNODE برای پایش تغییرات Maildirها و ردیابی تغییرات کلیدواژه‌ها استفاده می‌شود.

سوکت شنود (پیش‌فرض: "$XDG_RUNTIME_DIR/lei/5.seq.sock") نیز پایش می‌شود و در صورتی که اتصال آن حذف (unlink) شود، دیمن به‌طور خودکار خاموش خواهد شد.

از بازخوردها از طریق ایمیل متنی ساده به <mailto:meta@public-inbox.org> استقبال می‌شود.

آرشیوهای ایمیل در https://public-inbox.org/meta/ و http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/ میزبانی می‌شوند.

حق نشر برای تمامی مشارکت‌کنندگان <mailto:meta@public-inbox.org>

مجوز: AGPL-3.0+ https://www.gnu.org/licenses/agpl-3.0.txt

lei-overview(7)، lei-daemon-kill(1)، lei-daemon-pid(1)

1993-10-02 public-inbox.git