کنترل تکرار هشدار و نقش زمانسنج
یکبار مصرف، تایمفریم و زمانسنج سه تنظیم متفاوتاند؛ فاصله زمانی اجرا را با تعداد کندلها یکسان نگیرید.
پیشنیاز: شناخت خروجی شرطی، اتصال بلاکها و تفاوت اجرای زنده با تست تاریخی.
یکبار مصرف به چه معناست؟
در بلاکهای هشدار، یکبار مصرف برای هر نماد و تایمفریم انتخابی محدودیت ایجاد میکند. بعد از آماده شدن پیام، همان نماد تا مرز بعدی تایمفریم برای این بلاک محدود میشود. نام داخلی ویژگی که به روز اشاره دارد نباید باعث شود همه تایمفریمها را روزانه فرض کنید.
تایمفریم پیشفرض۱ از تنظیم فایل میآید. برای طراحی قابل بازبینی، انتخاب مؤثر آن را بدانید یا دوره مشخصی انتخاب کنید. محدودیت یک نماد، به معنای فقط یک پیام برای کل مجموعه نمادها نیست.
شرطی که مدت طولانی درست میماند
اگر شرطی مانند حجم بزرگتر از آستانه برای چندین اجرای پیاپی درست بماند، خاموش کردن یکبار مصرف میتواند امکان تولید مکرر پیام را باز کند. تعداد نهایی به فراخوانی اجرا و مسیر ارسال نیز وابسته است؛ این گزینه تضمین تعداد یا تحویل هر پیام نیست.
اگر هدف اطلاع از یک رخداد است، ابتدا مشخص کنید رخداد چه تعریفی دارد. بالاتر بودن از یک سطح با تقاطع آن یکسان نیست. انتخاب تقاطع تنها برای کاهش پیام بدون توجه به معنای خواسته، منطق آموزش را عوض میکند.
زمانسنج چه چیزی را میسنجد؟
بلاک زمان سنج تریگر شرطی و پریود به ثانیه دارد و خروجی آن شرطی است. در هر اجرای بلاک، اگر تریگر درست و فاصله از آخرین خروجی درست همان نماد کافی باشد، خروجی درست میشود؛ در غیر این صورت خروجی غلط است.
این بلاک در قرارداد فعلی فاصله ساعت واقعی اجرا را میسنجد، نه اختلاف تاریخ کندلها؛ StartDate برای محاسبهٔ این فاصله مصرف نمیشود. بنابراین نباید آن را شمارنده کندل یا روشی برای فاصلهگذاری دقیق رویدادها در بکتست معرفی کرد. خود بلاک نیز اجرا را در پسزمینه زمانبندی نمیکند؛ باید موتور دوباره آن را فراخوانی کند.
ترکیب دو محدودیت
میتوانید شرط را به تریگر زمانسنج و خروجی زمانسنج را به تریگر هشدار وصل کنید. اگر یکبار مصرف هشدار روشن بماند، عبور از زمانسنج لزوماً پیام تازه نمیسازد؛ محدودیت تایمفریم هشدار هنوز برقرار است.
برای توقف تولید پیام از این مسیر، شرط تریگر را غیرفعال و ثبت شدن تغییر را کنترل کنید؛ وضعیت اجرای فایل را هم جدا بررسی کنید. تغییر تریگر پیام قبلاً ارسالشده را پس نمیگیرد. درباره باقی ماندن وضعیت محدودیت پس از بازراهاندازی، بدون آزمون همان محیط تضمین ندهید.
تمرین و کنترل نتیجه
روی کاغذ پریود زمانسنج را ۶۰ ثانیه بگذارید و فرض کنید تریگر در اجراهای زمان صفر، ۲۰ و ۶۱ ثانیه درست است و قبلاً اجرا نشده. سپس اثر روشن بودن یکبار مصرف روزانه در هشدار بعدی را توضیح دهید.
نتیجه مورد انتظار: در مدل زمانسنج، اجرای نخست و اجرای بعد از گذشت حداقل۶۰ثانیه میتوانند خروجی درست بدهند. اما هشدار روزانه یکبار مصرف ممکن است پیام دوم همان نماد را محدود کند؛ این مثال آزمون ارسال واقعی نیست.