از Mailman 2 گرفته تا Mailman 3

از Mailman 2 گرفته تا Mailman 3


من در حال مهاجرت از Mailman 2 به Mailman 3 و
من روی رأی گیری قرار گرفتم.

تنظیم من

Mailman 2 بیش از 20 سال در خانه من در حال اجرا است بدون
تلاش مراقبتی عالی 3 لیست پستی با وجود دارد
در کل حدود 70 عضو و 3 ایمیل در سال (که قبلاً وجود داشت)
بیشتر) کاربران حتی به رابط وب نمی رسند: ایمیل
استفاده می شود فقط از طریق UUCP به داخل و خارج از کشور و سرور وب محلی است
در دسترس نیست از اینترنت. هنوز (یا همین الان)
بنابراین) همه چیز سالها خوب پیش رفت بدون هیچ گونه مداخله ای از طرف من

به طور کلی ، کل این کار را می توان از طریق لیست های دستی که در آن انجام می شود نیز انجام داد
/ و غیره / نامهای مستعار جایگزین…

به روزرسانی

از فوریه 2018 اعلام شد /usr/share/doc/mailman/NEWS.Debian.gz
Mailman 2 به شرح زیر:

این بسته پستی (2.x) برای سفارش
آینده قابل پیش بینی ، اما هیچ تغییر عمده ای را مشاهده نخواهید کرد
پیشرفت ها بعد از اولین نسخه دبیان حذف خواهد شد
Mailman بالادست حمایت از این شعبه را متوقف کرده است.

لازم نیست سریعاً قطارها را تغییر دهم ، اما می توانم
به آرامی شروع کنید. اول با لیستی برای آزمایش.

بزرگترین خبر از Mailman 3 تا آنجا که من می فهمم که
به پایتون 3 تغییر دهید. همچنین توسعه خواهد یافت 🙂
در حال حاضر ، چند مورد کوچک وجود ندارد (به عنوان مثال رسیدگی به آن
پیام های گزاف گویی ، فقدان آن کمی مرا تحریک می کند) ، اما اینگونه است
مدت ها قبل آماده استفاده مفید بود.

Mailman 3 دیگر گذرواژهای همه کاربران را به صورت ماهانه ارسال نمی کند
متن ساده به عنوان یادآوری منطقه ، اما این چیزی است که من برای آن می آیم
همچنین دیگر در اطراف نیست ، لیست رابط وب عمومی است

جنگو

Mailman 3 تحت Django اجرا می شود ، این یک چارچوب وب پایتون است.
شما واقعاً نیازی به علاقه مندی ندارید ، اما می توانید در آنجا باشید
شما به این باور ندارید. به دلیل نکات زیر
مجبور شدم موضوع را عمیق تر از آنچه در نظر داشتم بخوانم:

  • Django یک لیست سایت دارد که در ابتدا حاوی یک دامنه به عنوان مثال است.
    وارد شده است شما باید این (ویرایش بسیار کوچک) را ویرایش کنید ،
    به جای ایجاد سایت خود (دکمه بزرگ) و سپس
    سایت مثال را حذف کنید. زیرا هر سایتی عددی دارد
    فهرست و سایت پیش فرض در پیکربندی Djano
    ثبت شده بنابراین در ابتدا چیزی اتفاق نیفتاده است. ذهن شما
    من حتی در آن زمان نمی دانستم که Django وجود داشته است
    به نوعی با هم بازی می کند.
  • کاربر سرپرستی من که در ابتدا ایجاد شده بودم آدرس آن را داشت
    root @ localhost – حداقل آدرس ایمیل معتبر محلی ، Mailman
    3
    آنها را نیز می خورد ، اما مدیریت کاربر تحت Django ،
    جایی که همه Mailman دو برابر خواهند شد. جنگو یکی دارد
    اعتبار ایمیل را بررسی کنید که آدرس آن را دوست ندارد.
    حذف حساب تحت Mailman فایده ای ندارد زیرا حذف شده است
    را نمی توان در به Django منتقل کرد. بنابراین مجبور شدم
    سرانجام در مدیریت حساب Django حفر کنید و فکر کنید
    حساب کاربری را به صورت دستی حذف کنید.

نظرسنجی

به عنوان بخشی از مهاجرت در لیست پستی اول ، هنوز یکی در جایی وجود داشت
اشکال جزئی ، باعث ایجاد پرونده ها با متن بالا و پایین صفحه
فهرست پستی root متعلق به. این در واقعیت منعکس شده بود که بعد از
در اولین نامه آزمایشی ، بار سرور به میزان قابل توجهی افزایش یافته و یکی از آنها
دونده صف به طرز وحشیانه ای در محافل ، همیشه یکسان است
ارسال نامه با همان خطا بارها و بارها.

من دیده ام که تقریباً همه دونده های صف (هشت مورد
Mailman 2 و دوازده نفر از Mailman 3 ) یک بار در هر ثانیه
از خواب بیدار شوید ، دایرکتوری صف خود را بخوانید ، پیدا کنید که هیچ کدام وجود ندارد
پرونده ها برای پردازش و سپس برای یک ثانیه تهیه نسخه پشتیبان تهیه می شوند
برو بخواب.

WTF؟ نظرسنجی فعال تقریباً 20 فرآیند در هر ثانیه؟

از سال 2013 تاکنون تکه هایی برای استفاده از inotify وجود داشته است ، اما آنها هستند

امروز من کمی زنگ زد و تنظیمات زیر را برای
فاصله رأی گیری را یادداشت کنید. برای مال من
برای عملکردهای بدون هیچ نامه ای کافی است:

Mailman 2

موارد زیر در /etc/mailman/mm_cfg.py :

  1. # پیش فرض: 1 زمان نظرسنجی دوم برای 8 فرآیند رای گیری
  2. QRUNNER_SLEEP_TIME = ثانیه ( 200 )

Mailman 3

و بعد از / etc / mailman3 / mailman. cfg :

  1. [ runner.master ]
  2. sleep_time: 1m
  3. [ runner.archive ]
  4. sleep_time: 5m
  5. [ runner.bounces ]
  6. sleep_time: 5m

] [ runner.command ]

  • sleep_time: 5m
  • [ runner.in ]
  • sleep_time: 1m
  • [ runner.lmtp ]
  • sleep_time: 1m
  • [ runner.nntp ]
  • sleep_time: 10m
  • [ runner.out ]
  • sleep_time: 1m
  • [ runner.pipeline ] ] sleep_time: 5m
  • [ runner.rest ]
  • sleep_time: 5m
  • [ runner.retry ]
  • sleep_time: 5m
  • [ runner.virgin ]
  • sleep_time: 5
  • [ runner.digest ]
  • sleep_time: 10m
  • فقط فکر می کردم که [runner.master] یک مقدار پیش فرض برای
    هر دونده ای خواهد بود ، اما به نظر نمی رسد اینطور باشد.

    نتیجه گیری

    کل آنچه را آورده است؟
    من هنوز نمی توانم آن را در نمودار بارهای من ببینم:
    متوسط ​​بار در چهار ساعت گذشته از 0.4 می درخشد
    0.3 ممکن است کاهش یافته باشد ، اما این می تواند چیز دیگری باشد. همه
    در این حالت ، من هیچ وقت به صفحات نمایش داده شده در ثانیه نياز ندارم
    بنابراین تغییر نمی تواند صدمه ببیند.