.\" Text automatically generated by txt2man .TH retry "1" "retry-1.0.6" "" .SH "نام (NAME)" retry \- تکرار یک دستور تا زمان برآورده شدن یک معیار، معمولاً موفقیت. .SH "خلاصه دستور (SYNOPSIS)" .nf .fam C \fBretry\fP [\fB-v\fP] [\fB-h\fP] [\fB-u\fP \fIuntil\fP] [\fB-w\fP \fIwhile\fP] \fIcommand\fP \.\.\. .fam T .fi .fam T .fi .SH "توضیحات (DESCRIPTION)" این ابزار \fIcommand\fP داده‌شده را تا زمان موفقیت‌آمیز بودن آن (\fIuntil\fP) تکرار می‌کند و بین هر تلاش، با ایجاد یک تأخیر قابل‌پیکربندی درنگ می‌نماید. .PP ابزار \fBretry\fP هنگام ارسال داده‌ها به \fIcommand\fP تکرارشونده، ورودی استاندارد (stdin) را در حافظه ذخیره می‌کند و در صورت تکرار مجدد \fIcommand\fP، این stdin ذخیره‌شده مجدداً بازپخش می‌شود. این ویژگی امکان تعبیه ابزار \fBretry\fP را در خط‌لوله‌های (pipelines) پوسته فراهم می‌سازد. .PP ابزار \fBretry\fP خروجی استاندارد (stdout) را در حافظه ذخیره می‌کند؛ در صورتی که \fIcommand\fP موفقیت‌آمیز باشد، stdout طبق روال معمول به خروجی فرستاده می‌شود، در حالی که (\fIwhile\fP) در صورت تکرار \fIcommand\fP، خروجی stdout به جای آن به stderr منتقل می‌گردد. این امر تضمین می‌کند که خروجی تنها و فقط یک‌بار به stdout ارسال شود. .SH "گزینه‌ها (OPTIONS)" .TP .B \fB-d\fP seconds, \fB--delay\fP=seconds تعداد ثانیه‌های درنگ پس از هر تلاش. تعیین چندین مقدار تأخیر که با کاما از یکدیگر جدا شده‌اند اجازه می‌دهد تأخیرهای متوالی متفاوت باشند؛ در این حالت، آخرین تأخیر تکرار خواهد شد. .TP .B \fB-j\fP seconds, \fB--jitter\fP=seconds میزان نوسان یا ژیتر (به ثانیه) برای افزودن به هر تلاش تأخیر. یک عدد تصادفی بر حسب نانوثانیه بین صفر تا این مقدار به تأخیر اضافه خواهد شد. .TP .B \fB-m\fP message, \fB--message\fP=message پیامی که هنگام وقوع درنگِ تکرار در اعلان نمایش داده می‌شود. مقدار پیش‌فرض، نام \fIcommand\fP است. .TP .B \fB-t\fP times, \fB--times\fP=times تعداد کل دفعات تلاش برای اجرای \fIcommand\fP. به طور پیش‌فرض تا ابد تلاش می‌شود. .TP .B \fB-u\fP criteria, --\fIuntil\fP=criteria تکرار \fIcommand\fP تا زمانی که (\fIuntil\fP) هر یک از معیارهای جداشده با کاما محقق شود. گزینه‌ها شامل 'success'، 'true'، 'fail'، \(cqfalse'، یک عدد صحیح یا بازه‌ای از اعداد صحیح هستند. پیش‌فرض 'success' است. .TP .B \fB-w\fP criteria, --\fIwhile\fP=criteria تکرار \fIcommand\fP مادامی که (\fIwhile\fP) هر یک از معیارهای جداشده با کاما برقرار باشد. گزینه‌ها شامل 'success'، 'true'، 'fail'، \(cqfalse'، یک عدد صحیح یا بازه‌ای از اعداد صحیح هستند. .TP .B \fB-h\fP, \fB--help\fP نمایش این پیام راهنما. .TP .B \fB-v\fP, \fB--version\fP نمایش شماره نسخه. .SH "وضعیت خروج (EXIT STATUS)" ابزار \fBretry\fP پس از رسیدن به معیار مورد نظر، کد بازگشتی \fIcommand\fP در حال اجرا را برمی‌گرداند. .PP اگر اجرای \fIcommand\fP با یک سیگنال متوقف شود، کد بازگشتی برابر با شماره سیگنال به علاوه ۱۲۸ خواهد بود. .PP اگر \fIcommand\fP قابل اجرا نباشد، یا گزینه‌ها نامعتبر باشند، وضعیت ۱ بازگردانده می‌شود. .SH "مثال‌ها (EXAMPLES)" در این مثال مقدماتی، \fIcommand\fP تا ابد تکرار می‌شود. .PP .nf .fam C ~$ retry --until=success -- false retry: 'false' returned 1, backing off for 10 seconds and trying again\.\.\. retry: 'false' returned 1, backing off for 10 seconds and trying again\.\.\. retry: 'false' returned 1, backing off for 10 seconds and trying again\.\.\. .fam T .fi .SS ^C در این مثال پیچیده‌تر، هر بار اجرای curl تا زمان موفقیت آن تکرار می‌شود (\fIuntil\fP)، و در آن نقطه خروجی stdout تنها و فقط یک‌بار به مؤلفه بعدی در خط‌لوله منتقل می‌گردد. .PP .nf .fam C ~$ retry -- curl --fail http://localhost/entities | \\ jq \.\.\. | \\ retry -- curl --fail -X POST http://localhost/resource | \\ logger -t resource-init .fam T .fi در این مثال، تأخیرها را به طور نمایی تا ۶۴ ثانیه افزایش می‌دهیم (\fIuntil\fP)، و سپس تا زمان توقف همین مقدار تکرار می‌شود. .PP .nf .fam C ~$ retry --until=success --delay "1,2,4,8,16,32,64" -- false retry: false returned 1, backing off for 1 second and trying again\.\.\. retry: false returned 1, backing off for 2 seconds and trying again\.\.\. retry: false returned 1, backing off for 4 seconds and trying again\.\.\. retry: false returned 1, backing off for 8 seconds and trying again\.\.\. retry: false returned 1, backing off for 16 seconds and trying again\.\.\. retry: false returned 1, backing off for 32 seconds and trying again\.\.\. retry: false returned 1, backing off for 64 seconds and trying again\.\.\. retry: false returned 1, backing off for 64 seconds and trying again\.\.\. retry: false returned 1, backing off for 64 seconds and trying again\.\.\. .fam T .fi .SS ^C در این مثال، پیش از انصراف سه بار تلاش انجام می‌گیرد. .PP .nf .fam C ~$ retry --times=3 -- false retry: false returned 1, backing off for 10 seconds and trying again\.\.\. retry: false returned 1, backing off for 10 seconds and trying again\.\.\. retry: false returned 1, giving up. .fam T .fi .SH "نویسندگان (AUTHORS)" Graham Leggett