سی ام اس نویسسی ام اس نویسیاد بگیر، سیستم خودتو بنویس
مجلهتماس با ما
سی ام اس نویسسی ام اس نویس

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

پیوندهای سریع
محصولات فیزیکیمحصولات دیجیتالدوره‌های آموزشی
سی ام اس نویس
مجله سی ام اس نویستماس با ماپنل کاربری
سی ام اس نویس — تمامی حقوق برای سی ام اس نویس محفوظ است. © 1406 تماس با ما09307711941
آموزش Schedule Trigger در n8n؛ اجرای خودکار Workflow در زمان‌بندی مشخص

آموزش Schedule Trigger در n8n؛ اجرای خودکار Workflow در زمان‌بندی مشخص

ممدیر کل سیستم ۷ آبان ۱۴۰۵ ۱۵ دقیقه مطالعه ۲ بازدید
آموزش Schedule Trigger در n8n؛ اجرای خودکار Workflow در زمان‌بندی مشخص

مقدمه

فرض کنید هر روز باید اطلاعات یک API را دریافت کنید، گزارش فروش را آماده کنید، اطلاعات جدید مشتریان را بررسی کنید یا گزارشی از وضعیت سرور برای خودتان بفرستید.

اگر برای انجام هرکدام از این کارها مجبور باشید وارد n8n شوید و Workflow را به‌صورت دستی اجرا کنید، بخشی از مزیت اتوماسیون را از دست خواهید داد.

در n8n می‌توانید با استفاده از Node به نام Schedule Trigger تعیین کنید که یک Workflow در ساعت مشخص، هر روز، در روزهای خاص هفته یا بر اساس یک الگوی زمانی اجرا شود.

برای مثال، می‌توانید یک Workflow بسازید که هر روز ساعت ۸ صبح اطلاعات مورد نیاز را از یک API دریافت کند و نتیجه را از طریق ایمیل یا تلگرام برای شما بفرستد.

در این مقاله یاد می‌گیریم Schedule Trigger چیست، چطور آن را تنظیم کنیم، چگونه منطقه زمانی را مشخص کنیم و چه نکاتی را برای اجرای قابل‌اعتماد Workflowهای زمان‌بندی‌شده باید رعایت کنیم.

Schedule Trigger در n8n چیست؟

Schedule Trigger یک Node برای شروع خودکار Workflow بر اساس زمان‌بندی از پیش تعیین‌شده است.

در حالت عادی، ممکن است یک Workflow با دریافت Webhook، ورود اطلاعات یا یک رویداد دیگر شروع شود. اما Schedule Trigger به شما اجازه می‌دهد اجرای Workflow را به زمان وابسته کنید.

برای نمونه، می‌توانید آن را به شکلی تنظیم کنید که:

  • هر ۵ دقیقه یک‌بار اجرا شود.
  • هر روز در ساعت مشخص اجرا شود.
  • در روزهای مشخصی از هفته اجرا شود.
  • در یک روز از ماه و ساعت تعیین‌شده اجرا شود.
  • بر اساس یک الگوی Cron اجرا شود.

قابلیت‌های دقیق موجود و نحوه نمایش گزینه‌ها ممکن است با توجه به نسخه n8n متفاوت باشد.

نکته مهم این است که Schedule Trigger برای اجرای دوره‌ای طراحی شده است؛ بنابراین اگر هدف شما اجرای Workflow بلافاصله پس از وقوع یک رویداد خارجی باشد، معمولاً باید از Trigger مناسب دیگری مانند Webhook استفاده کنید.

تفاوت Schedule Trigger با Manual Trigger چیست؟

در n8n می‌توانید Workflow را به‌صورت دستی اجرا کنید یا از یک Trigger برای شروع خودکار آن استفاده کنید.

Manual Trigger: برای اجرای دستی Workflow کاربرد دارد و در زمان ساخت و آزمایش فرایندها بسیار مفید است.

Schedule Trigger: برای اجرای خودکار Workflow طبق زمان‌بندی مشخص استفاده می‌شود.

برای مثال، اگر می‌خواهید گزارش فروش را همین حالا آزمایش کنید، می‌توانید Workflow را به‌صورت دستی اجرا کنید. اما اگر قرار است گزارش هر شب ساعت ۱۲ تهیه شود، Schedule Trigger انتخاب مناسب‌تری است.

در پروژه‌های واقعی، معمولاً ابتدا Workflow را به‌صورت دستی آزمایش می‌کنند و پس از اطمینان از عملکرد آن، اجرای زمان‌بندی‌شده را فعال می‌کنند.

مرحله اول: ساخت یک Workflow جدید

ابتدا وارد پنل n8n شوید و یک Workflow جدید بسازید.

برای مثال، نام زیر را برای آن انتخاب کنید:

Daily Automation Report

در این آموزش قصد داریم Workflow ساده‌ای بسازیم که در زمان مشخص اجرا شود و سپس یک پیام آزمایشی تولید کند.

برای شروع، یک Node از نوع Schedule Trigger به Workflow اضافه کنید.

این Node به‌عنوان نقطه شروع فرایند شما عمل می‌کند.

مرحله دوم: تنظیم Schedule Trigger

پس از اضافه کردن Node، تنظیمات آن را باز کنید.

در رابط کاربری n8n، تنظیمات زمان‌بندی معمولاً از طریق گزینه‌هایی برای تعیین فاصله زمانی، ساعت اجرا یا الگوی سفارشی انجام می‌شوند.

بسته به نسخه و گزینه انتخاب‌شده، ممکن است با تنظیماتی مانند موارد زیر روبه‌رو شوید:

  • Trigger Interval: تعیین نوع فاصله زمانی
  • Hours Between Triggers: فاصله زمانی بر حسب ساعت
  • Days Between Triggers: فاصله زمانی بر حسب روز
  • Trigger at Hour: ساعت اجرا
  • Trigger at Minute: دقیقه اجرا
  • Custom Cron Expression: الگوی زمان‌بندی سفارشی

این گزینه‌ها در همه حالت‌ها هم‌زمان نمایش داده نمی‌شوند؛ گزینه‌های قابل مشاهده به نوع زمان‌بندی انتخاب‌شده بستگی دارند.

برای مثال، اگر قصد دارید Workflow هر روز ساعت ۸:۳۰ صبح اجرا شود، باید حالت اجرای روزانه یا تنظیمات معادل آن را انتخاب کنید و ساعت و دقیقه را روی ۸ و ۳۰ قرار دهید.

نکته: صرف اضافه کردن Schedule Trigger به معنی فعال شدن اجرای خودکار نیست. پس از تنظیم و ذخیره Workflow، باید آن را فعال کنید تا زمان‌بندی در اجرای واقعی اعمال شود.

مرحله سوم: اجرای Workflow در ساعت مشخص

فرض کنیم می‌خواهیم Workflow هر روز ساعت ۸ صبح اجرا شود.

تنظیمات را مطابق مراحل زیر انجام دهید:

  1. Schedule Trigger را باز کنید.
  2. حالت زمان‌بندی روزانه را انتخاب کنید.
  3. ساعت اجرا را روی ۸ تنظیم کنید.
  4. در صورت وجود گزینه دقیقه، آن را روی صفر قرار دهید.
  5. Workflow را ذخیره کنید.
  6. تنظیمات منطقه زمانی را بررسی کنید.
  7. Workflow را فعال کنید.

پس از فعال‌سازی، n8n بر اساس زمان‌بندی تعریف‌شده، اجرای Workflow را آغاز می‌کند.

اگر منطقه زمانی روی مقدار اشتباهی باشد، ممکن است Workflow در ساعتی متفاوت از انتظار شما اجرا شود. به همین دلیل، بررسی منطقه زمانی یکی از مهم‌ترین مراحل تنظیم Schedule Trigger است.

مرحله چهارم: اجرای Workflow در روزهای خاص هفته

گاهی لازم نیست Workflow هر روز اجرا شود.

برای مثال، ممکن است بخواهید گزارش هفتگی را فقط دوشنبه‌ها دریافت کنید یا یک عملیات مشخص از شنبه تا چهارشنبه انجام شود.

در این شرایط می‌توانید از تنظیمات روزهای هفته یا الگوی Cron استفاده کنید؛ انتخاب دقیق روش به گزینه‌های موجود در نسخه n8n شما بستگی دارد.

برای نمونه، یک گزارش هفتگی می‌تواند در ساعت ۹ صبح دوشنبه اجرا شود.

اگر از Cron استفاده می‌کنید، باید ساختار عبارت را مطابق فرمت مورد انتظار n8n وارد کنید. در بخش بعد چند نمونه از این عبارت‌ها را بررسی می‌کنیم.

توجه کنید که زمان‌بندی هفتگی به‌تنهایی تضمین نمی‌کند گزارش با موفقیت ارسال شود؛ نتیجه اجرای Workflow و وضعیت سرویس‌های مورد استفاده را نیز باید بررسی کنید.

مرحله پنجم: استفاده از Cron Expression در n8n

Cron Expression روشی برای تعریف الگوهای زمانی است. با استفاده از آن می‌توانید زمان اجرای Workflow را با جزئیات بیشتری مشخص کنید.

برای نمونه، در حالت رایج پنج‌فیلدی Cron، ساختار به شکل زیر است:


دقیقه ساعت روز-ماه ماه روز-هفته

با این حال، n8n در تنظیمات Schedule Trigger از قالب Cron مخصوص خود استفاده می‌کند که می‌تواند شامل فیلد ثانیه نیز باشد. بنابراین پیش از استفاده از یک عبارت، باید تعداد فیلدها و فرمت مورد انتظار نسخه خود را بررسی کنید.

در نمونه‌های زیر از قالب رایج شش‌فیلدی مورد استفاده در زمان‌بندی n8n استفاده می‌کنیم:


ثانیه دقیقه ساعت روز-ماه ماه روز-هفته

چند نمونه کاربردی:

کاربردنمونه Cron شش‌فیلدی
هر روز ساعت ۸ صبح0 0 8 * * *
هر روز ساعت ۱۸:۳۰0 30 18 * * *
هر ساعت، در ابتدای ساعت0 0 * * * *
هر ۵ دقیقه0 */5 * * * *
هر دوشنبه ساعت ۹ صبح0 0 9 * * 1

این نمونه‌ها بر اساس قالب شش‌فیلدی هستند. اگر از حالت تنظیمات آماده در رابط کاربری استفاده می‌کنید، معمولاً نیازی به وارد کردن Cron ندارید.

همچنین در الگوهای مربوط به روز هفته و روز ماه ممکن است تفاوت‌هایی میان پیاده‌سازی‌های Cron وجود داشته باشد. برای زمان‌بندی‌های حساس، عبارت واردشده را در نسخه n8n خود بررسی و آزمایش کنید.

مرحله ششم: ساخت یک Workflow آزمایشی

حالا می‌خواهیم مطمئن شویم که Schedule Trigger درست کار می‌کند.

پس از اضافه کردن Schedule Trigger، یک Node از نوع Edit Fields اضافه کنید. در برخی نسخه‌ها یا Workflowهای قدیمی ممکن است نام Set را ببینید.

یک فیلد متنی به نام message بسازید و مقدار زیر را در آن قرار دهید:


گزارش زمان‌بندی‌شده با موفقیت اجرا شد.

برای اینکه اجرای Workflow را راحت‌تر بررسی کنید، می‌توانید یک فیلد دیگر به نام report_type با مقدار daily نیز اضافه کنید.

ساختار ساده Workflow به این شکل خواهد بود:


Schedule Trigger

       |

       v

Edit Fields

       |

       v

خروجی آزمایشی

پس از تنظیم Nodeها، Workflow را ذخیره کنید.

برای بررسی اولیه می‌توانید از قابلیت اجرای دستی یا آزمایش Nodeها استفاده کنید، اما اجرای دستی به‌تنهایی ثابت نمی‌کند که زمان‌بندی واقعی فعال است. برای اطمینان از اجرای خودکار، Workflow را فعال کنید و در زمان مقرر، تاریخچه اجراها را بررسی کنید.

مرحله هفتم: ارسال گزارش از طریق تلگرام

یکی از کاربردهای مفید Schedule Trigger، ارسال گزارش دوره‌ای به تلگرام است.

برای مثال، می‌توانید Workflow را به شکلی تنظیم کنید که هر روز صبح یک پیام برای شما ارسال کند.

ساختار کلی چنین Workflowای به شکل زیر است:


Schedule Trigger

       |

       v

جمع‌آوری اطلاعات

       |

       v

پردازش و آماده‌سازی گزارش

       |

       v

Telegram

       |

       v

ارسال پیام

برای پیاده‌سازی آن:

  1. یک Schedule Trigger با زمان اجرای مورد نظر اضافه کنید.
  2. Nodeهای مورد نیاز برای جمع‌آوری اطلاعات را به آن متصل کنید.
  3. اطلاعات را پردازش و متن گزارش را آماده کنید.
  4. یک Node از نوع Telegram اضافه کنید.
  5. Credential مربوط به ربات و شناسه چت مقصد را تنظیم کنید.
  6. متن پیام را با Expression به خروجی مراحل قبلی متصل کنید.
  7. Workflow را آزمایش و سپس فعال کنید.

برای نمونه، پیام گزارش می‌تواند شامل تعداد سفارش‌های ثبت‌شده، تعداد درخواست‌های ناموفق یا خلاصه‌ای از اطلاعات یک API باشد.

اگر قصد دارید گزارش واقعی تهیه کنید، باید Node جمع‌آوری داده را نیز متناسب با منبع اطلاعات خود تنظیم کنید. Schedule Trigger فقط زمان شروع فرایند را تعیین می‌کند و به‌تنهایی اطلاعات گزارش را تولید نمی‌کند.

مرحله هشتم: اجرای خودکار درخواست API

یکی دیگر از کاربردهای Schedule Trigger، دریافت دوره‌ای اطلاعات از API است.

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

در این حالت، Workflow می‌تواند به شکل زیر باشد:


Schedule Trigger

       |

       v

HTTP Request

       |

       v

پردازش اطلاعات

       |

       v

ذخیره یا ارسال نتیجه

در Node مربوط به HTTP Request باید آدرس API، روش درخواست، احراز هویت و سایر تنظیمات مورد نیاز سرویس مقصد را وارد کنید.

برای جلوگیری از ایجاد درخواست‌های غیرضروری، فاصله زمانی اجرا را متناسب با نیاز واقعی خود انتخاب کنید. اگر API مقصد محدودیت تعداد درخواست دارد، باید آن محدودیت را در طراحی Workflow در نظر بگیرید.

مرحله نهم: تنظیم منطقه زمانی در n8n

یکی از دلایل رایج اجرای Workflow در ساعت اشتباه، تنظیم نبودن منطقه زمانی است.

فرض کنید انتظار دارید یک Workflow ساعت ۸ صبح به وقت تهران اجرا شود، اما محیط n8n از منطقه زمانی دیگری استفاده می‌کند. در این شرایط ممکن است زمان اجرای Workflow با انتظار شما مطابقت نداشته باشد.

برای بررسی این موضوع:

  1. تنظیمات Workflow را باز کنید.
  2. گزینه مربوط به Timezone را پیدا کنید، اگر در نسخه شما در تنظیمات Workflow نمایش داده می‌شود.
  3. منطقه زمانی مناسب را انتخاب کنید.
  4. اگر منطقه زمانی Workflow از تنظیمات محیط n8n به ارث می‌رسد، تنظیمات محیط اجرا را بررسی کنید.
  5. پس از تغییر تنظیمات، زمان‌بندی را آزمایش کنید.

برای مثال، منطقه زمانی تهران معمولاً با شناسه زیر مشخص می‌شود:


Asia/Tehran

اگر n8n را با Docker اجرا می‌کنید، می‌توانید تنظیم منطقه زمانی محیط اجرا را نیز بررسی کنید. متغیر GENERIC_TIMEZONE برای تعیین منطقه زمانی مورد استفاده در زمان‌بندی‌های n8n کاربرد دارد؛ متغیر TZ نیز منطقه زمانی محیط سیستم را تنظیم می‌کند.

نمونه تنظیم در Docker Compose:


environment:

  - GENERIC_TIMEZONE=Asia/Tehran

  - TZ=Asia/Tehran

این بخش باید در قسمت environment سرویس n8n قرار بگیرد. اگر n8n را از طریق Coolify یا روش دیگری مدیریت می‌کنید، متغیرها را در تنظیمات همان سرویس اضافه کنید.

پس از تغییر تنظیمات محیط اجرا، ممکن است لازم باشد سرویس را مجدداً راه‌اندازی کنید تا تنظیمات جدید اعمال شوند. پیش از تغییر محیط یک سرویس فعال، تأثیر راه‌اندازی مجدد بر Workflowهای در حال اجرا را در نظر بگیرید.

مرحله دهم: چرا Workflow زمان‌بندی‌شده اجرا نمی‌شود؟

اگر Schedule Trigger را تنظیم کرده‌اید اما Workflow در زمان مورد انتظار اجرا نمی‌شود، موارد زیر را بررسی کنید.

۱. Workflow فعال نیست

در بسیاری از سناریوها، اجرای خودکار زمان‌بندی‌شده به فعال بودن Workflow نیاز دارد.

راهکار: وضعیت فعال بودن Workflow را بررسی کنید.

۲. منطقه زمانی اشتباه است

ممکن است زمان‌بندی درست باشد اما بر اساس منطقه زمانی دیگری محاسبه شود.

راهکار: تنظیمات Timezone در Workflow و محیط اجرا را بررسی کنید.

۳. Workflow ذخیره نشده است

اگر تغییرات را ذخیره نکرده باشید، ممکن است تنظیمات جدید در اجرای واقعی اعمال نشده باشند.

راهکار: Workflow را ذخیره کنید و وضعیت آن را دوباره بررسی کنید.

۴. عبارت Cron اشتباه است

اگر از زمان‌بندی سفارشی استفاده می‌کنید، تعداد فیلدها یا مقادیر نادرست می‌توانند باعث زمان‌بندی غیرمنتظره شوند.

راهکار: فرمت مورد انتظار n8n را بررسی کنید و عبارت را با یک زمان‌بندی ساده آزمایش کنید.

۵. سرویس n8n در دسترس نیست

اگر سرور یا سرویس n8n خاموش باشد، Workflow نمی‌تواند در زمان مقرر اجرا شود.

راهکار: وضعیت سرویس، کانتینر و منابع سرور را بررسی کنید.

۶. Workflow اجرا شده اما یکی از Nodeهای بعدی خطا داده است

ممکن است Schedule Trigger اجرا را شروع کرده باشد، اما فرایند در مرحله دیگری شکست خورده باشد.

راهکار: تاریخچه اجراها را بررسی کنید و Node مشکل‌دار را شناسایی کنید. برای اطلاع‌رسانی خودکار نیز می‌توانید از Error Workflow استفاده کنید.

نکات مهم برای ساخت زمان‌بندی قابل‌اعتماد

هنگام استفاده از Schedule Trigger بهتر است چند اصل را رعایت کنید.

از اجرای بیش از نیاز جلوگیری کنید. اگر یک گزارش روزانه کافی است، اجرای آن در هر دقیقه فقط منابع مصرف می‌کند.

برای عملیات حساس، تکرار را کنترل کنید. اگر Workflow ممکن است یک سفارش یا پرداخت را پردازش کند، باید از ثبت یا پردازش تکراری جلوگیری کنید.

اجرای موفق را بررسی کنید. شروع شدن Workflow لزوماً به معنی موفقیت همه مراحل نیست.

خطاها را ثبت کنید. برای Workflowهای مهم، از تاریخچه اجراها و Error Workflow برای عیب‌یابی استفاده کنید.

منطقه زمانی را آگاهانه انتخاب کنید. به‌ویژه اگر سرور در کشوری متفاوت از محل فعالیت کسب‌وکار قرار دارد.

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

سؤالات متداول

آیا Schedule Trigger بدون فعال کردن Workflow کار می‌کند؟

برای اجرای خودکار و مداوم در محیط واقعی، Workflow باید به‌درستی ذخیره و فعال شده باشد. اجرای دستی برای آزمایش با زمان‌بندی فعال تفاوت دارد.

آیا می‌توان Workflow را هر پنج دقیقه اجرا کرد؟

بله. می‌توانید از گزینه زمان‌بندی مناسب یا یک Cron Expression مطابق قالب مورد انتظار n8n استفاده کنید. برای نمونه، در قالب شش‌فیلدی 0 */5 * * * * نشان‌دهنده اجرای هر پنج دقیقه است.

آیا می‌توان Workflow را فقط روزهای خاص اجرا کرد؟

بله. می‌توانید روزها و ساعت‌های مورد نظر را از طریق تنظیمات زمان‌بندی یا Cron تعیین کنید. قبل از استفاده در محیط واقعی، الگوی انتخاب‌شده را آزمایش کنید.

اگر سرور خاموش باشد، آیا Workflow بعداً اجرا می‌شود؟

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

آیا Schedule Trigger می‌تواند اطلاعات یک API را دریافت کند؟

Schedule Trigger فقط اجرای Workflow را در زمان تعیین‌شده آغاز می‌کند. برای دریافت اطلاعات از API باید یک Node مانند HTTP Request به آن متصل کنید.

چطور خطاهای Workflow زمان‌بندی‌شده را دریافت کنیم؟

می‌توانید یک Error Workflow تعریف کنید تا در صورت شکست اجرای Workflow اصلی، اطلاعات خطا را ثبت کند یا از طریق تلگرام و ایمیل هشدار بفرستد.

جمع‌بندی

Schedule Trigger یکی از Nodeهای کاربردی n8n برای اجرای خودکار فرایندهای تکراری است. با استفاده از آن می‌توانید گزارش‌های روزانه تولید کنید، اطلاعات APIها را به‌صورت دوره‌ای دریافت کنید و بسیاری از عملیات کسب‌وکار را بدون اجرای دستی انجام دهید.

برای استفاده صحیح از این قابلیت، فقط تنظیم ساعت کافی نیست. باید Workflow را ذخیره و فعال کنید، منطقه زمانی را بررسی کنید، فرمت Cron را درست انتخاب کنید و اجرای واقعی را از طریق تاریخچه اجراها زیر نظر بگیرید.

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

نظرات (0)

نظرات پس از تأیید مدیر نمایش داده می‌شوند

هنوز نظری ثبت نشده است؛ اولین نفر باشید!

مقالات مرتبط

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

۱۲ دقیقه
معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

۲۱ دقیقه
مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

۲۲ دقیقه
n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

۲۲ دقیقه