.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DELAYER 8" .TH DELAYER 8 2026-06-22 "INN 2.7.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" delayer \- یک پایپ برای ایجاد تاخیر زمانی مشخص در ورودی‌های مبتنی بر خط .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fIsome-program\fR | \fBdelayer\fR [\fB\-\-\fR[\fBno\-\fR]\fBbuffered\fR] [\fB\-\-delay\fR \&\fIseconds\fR] [\fB\-\-store\fR \fIfilename\fR] \fB\-\-\fR \fIsome-other-program\fR [\fIargs\fR ...] .PP روش فراخوانی قدیمی (Legacy): .PP \&\fIsome-program\fR | \fBdelayer\fR \fIseconds\fR \fIsome-other-program\fR [\fIargs\fR ...] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" برنامه \&\fBdelayer\fR یک پایپ تاخیرانداز را پیاده‌سازی می‌کند. خطوط ارسال‌شده به ورودی استاندارد فرآیند در صف موقت (spool) ذخیره می‌شوند و تنها پس از گذشت مدت زمان تاخیر تعیین‌شده، در ورودی استاندارد \&\fIsome-other-program\fR نوشته (چاپ) می‌شوند. .PP مهم‌ترین کاربرد این برنامه برای فیدهای خبری است که عمداً نباید مقالات را در سریع‌ترین زمان ممکن توزیع کنند. یک دلیل این امر، دادن زمان کافی به پیام‌های NoCeM برای رسیدن است تا \&\fBinnd\fR بتواند شناسه پیام (Message-ID) آن مقالات لغوشده را پیش از رسیدن واقعی آن‌ها ثبت کند. این ویژگی اجازه می‌دهد تا مقالات قبل از ذخیره‌سازی محلی و انتشار به سایر همتایان لغو گردند. این تاخیر را می‌توان برای فیدهای خروجی متقاضی این ویژگی تنظیم کرد یا، در روشی حتی بهتر برای جلوگیری از کاهش سرعت انتشار مقالات، به صورت داخلی میان یک نمونه فرانت‌اند از \&\fBinnd\fR (که مقالات را از تمام همتایان شما دریافت می‌کند) و نمونه محلی دیگری از \&\fBinnd\fR (که از فرانت‌اند شما و همراه با تاخیر، به جز برای مقالات NoCeM، تغذیه می‌شود) برقرار ساخت. .PP کاربرد دیگر، استفاده از پیوند ارتباطی صرفاً به عنوان یک مسیر پشتیبان (backup) است. .SH "پیکربندی (CONFIGURATION)" .IX Header "CONFIGURATION" مراحل راه‌اندازی یک فید دارای تاخیر با استفاده از \&\fBdelayer\fR و \&\fBinnfeed\fR عبارتند از: .IP \(bu 4 انتخاب یک نام برای آن فید؛ به عنوان مثال: \f(CW\*(C`innfeed\-delayed\*(C'\fR. .IP \(bu 4 در دایرکتوری \fIpathetc\fR، فایل \fIinnfeed.conf\fR را به \fIinnfeed\-delayed.conf\fR کپی کنید. .IP \(bu 4 فایل \fIinnfeed\-delayed.conf\fR را در \fIpathetc\fR ویرایش کنید و موارد رخداد \&\f(CW\*(C`innfeed\*(C'\fR را به \f(CW\*(C`innfeed\-delayed\*(C'\fR تغییر دهید؛ این تغییر معمولاً در پارامترهای \fIlog-file\fR، \fIpid-file\fR و \fIstatus-file\fR اعمال می‌شود. اگر این پارامترها تنظیم نشده‌اند، باید آن‌ها را به طور صریح در \fIinnfeed\-delayed.conf\fR تنظیم کنید تا مقادیر پیش‌فرض آن‌ها با یک نمونه در حال اجرای همزمان از فید بلادرنگ که از \&\fBinnfeed\fR استفاده می‌کند، تداخل پیدا نکنند. به عنوان مثال: .Sp .Vb 3 \& log\-file: innfeed\-delayed.log \& pid\-file: innfeed\-delayed.pid \& status\-file: innfeed\-delayed.status .Ve .Sp استفاده از مقدار یکسان برای \fIbacklog-directory\fR هم در \fIinnfeed.conf\fR و هم در \&\fIinnfeed\-delayed.conf\fR مشکلی ایجاد نمی‌کند، زیرا نام‌های سایت در \fInewsfeeds\fR یکتا هستند (همان‌طور که در ادامه با \f(CW\*(C`news.uu.net\*(C'\fR و \f(CW\*(C`news.uu.net\-delayed\*(C'\fR آورده شده است). .IP \(bu 4 در صورت لزوم، پارامتر \fImax-connections\fR را به \f(CW\*(C`1\*(C'\fR محدود کنید. .IP \(bu 4 در فایل \fIinnfeed\-delayed.conf\fR فقط پیکربندی همتایانی (peers) را نگه دارید که باید فید تاخیردار را دریافت کنند. .IP \(bu 4 یک مدخل جدید به فایل \fInewsfeeds\fR در \fIpathetc\fR اضافه کنید، مانند: .Sp .Vb 4 \& innfeed\-delayed!\e \& :!*\e \& :Tc,Wnm*,S16384:/delayer \-\-delay 300 \-\- \e \& /innfeed \-c innfeed\-delayed.conf .Ve .Sp این پیکربندی مقالات ارسالی از طریق این فید را به مدت ۳۰۰ ثانیه به تاخیر می‌اندازد. اگر هدف، دادن زمان کافی به پیام‌های NoCeM برای رسیدن است، مقدار تاخیر باید با تواتر زمانی ارسال آن‌ها در گروه خبری news.lists.filters مطابقت داشته باشد. .IP \(bu 4 به جای \f(CW\*(C`innfeed!\*(C'\fR، از \f(CW\*(C`innfeed\-delayed!\*(C'\fR در مدخل‌های \fInewsfeeds\fR برای همتایانی که باید فید تاخیردار دریافت کنند استفاده کنید. در صورت تمایل، می‌توانید برای هر همتا دو مدخل تنظیم کنید: حفظ فید بلادرنگ از طریق \f(CW\*(C`innfeed!\*(C'\fR برای پیام‌های NoCeM، و ایجاد تاخیر در فید سایر مقالات از طریق \&\f(CW\*(C`innfeed\-delayed!\*(C'\fR. .Sp .Vb 3 \& news.uu.net/uunet\e \& :!*,news.lists.filters\e \& :Tm:innfeed! \& \& news.uu.net\-delayed/uunet\e \& :*,@news.lists.filters\e \& :Tm:innfeed\-delayed! .Ve .Sp مقالات لغو (Cancel articles) نیز باید با تاخیر فرستاده شوند تا بعد از مقاله‌ای که آن را لغو می‌کنند برسند؛ در غیر این صورت INN قادر به احراز هویت آن‌ها (با استفاده از Cancel-Lock) نخواهد بود. لغوهای تاییدنشده به‌طور پیش‌فرض پردازش نمی‌شوند (گزینه \fIdocancels\fR را در \fIinn.conf\fR ببینید)، اما اگر تصمیم به پردازش آن‌ها دارید، می‌توانید شبه‌گروه خبری control.cancel را نیز به عنوان یک فید بلادرنگ ارسال کنید. .Sp اطمینان حاصل کنید که دقیقاً از همان نام همتای \f(CW\*(C`news.uu.net\-delayed\*(C'\fR در فایل \&\fIinnfeed\-delayed.conf\fR استفاده شده باشد. توجه داشته باشید که تنها در صورتی باید یک فید تاخیردار را برای یک همتای راه دور پیکربندی کنید که مدیر اخبار (news administrator) آن با این موضوع موافقت کرده باشد (زیرا ممکن است خواهان فید بلادرنگ باشد یا قبلاً به صورت محلی تاخیری روی فیدهای ورودی خود اعمال کرده باشد). .IP \(bu 4 بارگذاری مجدد فایل پیکربندی \fInewsfeeds\fR: .Sp .Vb 1 \& ctlinnd reload newsfeeds \*(Aqsetting delayed feeds\*(Aq .Ve .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP "\fB\-\-buffered\fR, \fB\-\-no\-buffered\fR" 4 .IX Item "--buffered, --no-buffered" به‌طور پیش‌فرض، خروجی بافر می‌شود. این امر در صورتی که تعداد مقالات اندک باشد، زمان تا ارسال واقعی مقاله را افزایش می‌دهد. برای داشتن تاخیری دقیق‌تر، بافر کردن را غیرفعال کنید؛ البته به بهای اندکی سربار کارایی (که احتمالاً قابل چشم‌پوشی است). .IP "\fB\-\-delay\fR \fIseconds\fR" 4 .IX Item "--delay seconds" به تاخیر انداختن مقالات به میزان ثانیه‌های مشخص‌شده. مقدار پیش‌فرض \f(CW\*(C`60\*(C'\fR است. .IP "\fB\-\-store\fR \fIfilename\fR" 4 .IX Item "--store filename" به‌طور پیش‌فرض، در صورت بسته شدن ورودی، تمام خطوط بافرشده بلافاصله در خروجی نوشته می‌شوند، حتی اگر زمان تاخیر تعیین‌شده هنوز فرا نرسیده باشد. .Sp هنگامی که از این فلگ استفاده شود، این خطوط در عوض درون فایل مشخص‌شده ذخیره می‌شوند تا در راه‌اندازی بعدی مورد استفاده قرار گیرند. استفاده از نام مسیر مطلق توصیه می‌شود. .IP "\fB\-\-\fR \fIsome-other-program\fR [\fIargs\fR ...]" 4 .IX Item "-- some-other-program [args ...]" علامت \&\fB\-\-\fR گزینه‌های مربوط به \&\fBdelayer\fR را از برنامه‌ای که خروجی در آن نوشته می‌شود جدا می‌کند: \&\fIsome-other-program\fR مسیر کامل برنامه است که به صورت اختیاری با برخی پارامترهای \&\fIargs\fR همراه می‌شود. .SH "گزینه‌های قدیمی (LEGACY OPTIONS)" .IX Header "LEGACY OPTIONS" این رابط قدیمی (منسوخ) تلقی می‌شود و روزی حذف خواهد شد. .IP \fIdelay\fR 4 .IX Item "delay" به تاخیر انداختن مقالات به میزان ثانیه‌های مشخص‌شده. .IP "\fIsome-other-program\fR [\fIargs\fR ...]" 4 .IX Item "some-other-program [args ...]" مسیر کامل برنامه‌ای که خروجی در آن نوشته می‌شود، که به صورت اختیاری می‌تواند با برخی پارامترهای \fIargs\fR همراه باشد. .SH "اشکالات (BUGS)" .IX Header "BUGS" اگر ورودی استاندارد بسته شود (به عنوان مثال هنگامی که فید بسته یا بازراه‌اندازی شود)، تمام خطوط موجود در حافظه بلافاصله چاپ می‌شوند و قاعده تاخیر انداختن آن‌ها نقض می‌گردد، مگر اینکه از گزینه \&\fB\-\-store\fR استفاده شده باشد. .PP اگر تعداد مقالات موجود در آن فید نسبتاً اندک باشد (تنها چند مقاله در هر بازه زمانی تاخیر یا کمتر)، برخی از اثرات بافرینگ ارسال مقالات را حتی بیش از پیش به تاخیر خواهند انداخت. برای کاهش این اثر، گزینه \&\fB\-\-no\-buffering\fR را مشاهده کنید. .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" نسخه اولیه در ژوئیه ۱۹۹۸ توسط Christian Mock نوشته شد. .PP در ژانویه ۲۰۲۴ توسط Christoph Biedl بهبود یافته و مستندسازی شد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" .BR delay (1), .BR innfeed.conf (5), .BR newsfeeds (5).