PROCBATCH(8) InterNetNews Documentation PROCBATCH(8)

procbatch - پردازش یک فایل قیفی (funnel) یا فایل مقالات رهاشده توسط innfeed در INN

procbatch [-hquv] [-c [-s spooldir]] [-d outdir] [-e peer] [-m [-t backlogdir]] batchfile

دستور procbatch یک فایل قیفی (funnel) متعلق به INN یا یک فایل innfeed-dropped را دریافت کرده و آن را بر اساس میزبان (host) تفکیک می‌کند تا مستقیماً توسط innfeed یا innxmit پردازش شوند.

در حالی که فایل‌های funnel معمولاً تنها پس از بروز خرابی (crash) سیستم مورد توجه قرار می‌گیرند، innfeed ممکن است مقالات را به دلایل متعددی رها (drop) کند که لزوماً همه آن‌ها نشان‌دهنده یک مشکل اساسی نیستند. برای مثال، زمانی که innfeed در توالی‌های سریع آغاز و متوقف می‌شود در حالی که INN حجم بالایی از پیام‌های کنترلی را پردازش می‌کند (یک ناتوانی موقت)، یا زمانی که INN مقالاتی را برای سایتی ارسال می‌کند که در innfeed.conf تعریف نشده است (یک پیکربندی نادرست)، مقالات ممکن است رها شوند.

هر نمونه در حال اجرای innfeed فایلی با نام innfeed-dropped.<id> را باز می‌کند که در حالت عادی باید طول آن صفر بایت باشد و هنگام خروج برنامه حذف شود. اگر فایل‌هایی با اندازه غیرصفر وجود داشته باشند، innfeed تعدادی از مقالات را رها کرده است و این فایل‌های مقالات رهاشده باید پردازش شوند، در غیر این صورت این مقالات هرگز به کارگزارهای همتا (peers) ارسال نخواهند شد. اگرچه news.daily به‌طور خودکار این فایل‌ها را پردازش می‌کند (با فراخوانی procbatch)، اما انجام دستی آن نیز امکان‌پذیر است. ابتدا اطمینان حاصل کنید که فایل مربوط به یک نمونه در حال اجرای innfeed نیست؛ برای مثال با فراخوانی دستور "ctlinnd flush innfeed!".

یک فایل funnel مربوط به INN یا یک فایل innfeed-dropped معمولاً دارای ساختار زیر است:

pathname message-id peer1 peer2 peer3 ...

که در آن pathname می‌تواند به عنوان جایگزین، یک توکن رابط برنامه‌نویسی ذخیره‌سازی (storage API token) باشد.

دستور procbatch این فایل را به فایل‌هایی با نام‌های peer1.tmp، peer2.tmp، peer3.tmp و غیره با ساختار زیر تفکیک می‌کند:

pathname message-id

این فایل‌های tape مرتب‌سازی شده و ورودی‌های تکراری از آن‌ها حذف می‌شوند. تغییر نام ساده آن‌ها به peer1، peer2، peer3 و غیره در پوشه بک‌لاگ (backlog) یک سرویس در حال اجرای innfeed باعث می‌شود که آن‌ها به‌طور خودکار در هر دوره زمانی backlog-newfile-period ثانیه (همان‌طور که در innfeed.conf تنظیم شده است) توسط innfeed شناسایی و دریافت شوند. از گزینه -m استفاده کنید تا procbatch تغییر نام و انتقال آن‌ها به محل مناسب را به‌طور خودکار انجام دهد.

پس از اجرای procbatch، ممکن است بخواهید اطمینان حاصل کنید که هر فایل بک‌لاگ تولیدشده دارای یک فایل متناظر ".lock" است. در غیر این صورت، innfeed آن سایت را به عنوان یک همتا (peer) پیکربندی نکرده است؛ به این معنی که فایل innfeed.conf شما ممکن است به اصلاح نیاز داشته باشد.

بررسی وجود مقاله پیش از نوشتن ارجاعات به آن در فایل‌های tape. در حال حاضر، این گزینه تنها با ساختار ذخیره‌سازی مقالات tradspool قابل استفاده است. استفاده از آن با هر قالب اسپول دیگری منجر به رها شدن و از دست رفتن تمام مقالات خواهد شد.
قرار دادن فایل یا فایل‌های خروجی در پوشه outdir (پیش‌فرض آن pathtmp تعیین‌شده در inn.conf است). در صورت تعیین همزمان گزینه -m، فایل‌های خروجی موقت همچنان پیش از انتقال به محل نهایی در این پوشه قرار می‌گیرند.
فقط ورودی‌های مربوط به peer پردازش شوند.
نمایش یک صفحه راهنمای کوتاه.
افزودن مستقیم به انتهای فایل‌های tape در پوشه بک‌لاگ innfeed.
حالت بی‌صدا: فقط نمایش پیام‌های خطا.
استفاده از spooldir به عنوان محل اسپول مقالات (پیش‌فرض آن patharticles تعیین‌شده در inn.conf است). این گزینه تنها در یک سامانه ذخیره‌سازی tradspool و در صورت تعیین همزمان گزینه -c کاربرد دارد.
استفاده از backlogdir به عنوان محل پوشه بک‌لاگ innfeed (پوشه‌ای که فایل‌های tape ساخته‌شده در آن قرار می‌گیرند). پیش‌فرض آن pathspool/innfeed است. این گزینه تنها در صورت مشخص کردن همزمان گزینه -m تأثیرگذار است.
حذف پیوند (unlink) فایل دسته‌ای ورودی پس از اتمام پردازش.
افزایش جزئیات گزارش (حالت پرگو).

دریافت فایل innfeed-dropped.B012345، پردازش خطوط آن و افزودن به فایل‌های tape در پوشه بک‌لاگ innfeed، و حذف آن پس از پایان کار، همراه با نمایش جزئیات کامل عملیات:

procbatch -umv innfeed-dropped.B012345

بررسی فایل innfeed-dropped.B012345 و ذخیره ورودی‌های مربوط به "peer1" در /tmp/peer1.tmp، اما تنها در صورتی که مقالات همچنان در tradspool محلی موجود باشند:

procbatch -e peer1 -d /tmp -c innfeed-dropped.B012345

دستور procbatch باید بتواند وجود مقالات را در هر نوع روش ذخیره‌سازی مقالات (احتمالاً با استفاده از grephistory) بررسی کند.

دستور procbatch توسط James Brister نوشته شد و سرعت اجرای آن توسط Clayton O'Neill بهبود یافت.

این صفحه راهنما توسط Florian Schlichting با استفاده از یادداشتی از Russ Allbery به نگارش درآمد.

innfeed(8), innxmit(8), news.daily(8).

2024-05-19 INN 2.7.4