بازگشت به بلاگ
حضور و غیاب
۲۷ مرداد ۱۴۰۵6 دقیقه مطالعه

ثبت ترددی که جایی که آنتن نیست هم کار می‌کند

دامداری، زیرزمین و سایت‌های دورافتاده، سامانه‌هایی را که فرض می‌کنند گوشی آنلاین است از کار می‌اندازند. راه ثبت یک ترددِ درست، با وجود همهٔ این‌ها، این است.

بیشتر محصولات حضور و غیاب بی‌سروصدا دو چیز را فرض می‌گیرند: گوشی کارمند اتصال دارد و ساعتش درست است. هر دو فرض دقیقاً در همان سایت‌هایی شکست می‌خورند که حضور و غیاب بیشترین اهمیت را دارد — یک دامداری، یک زیرزمین، یک محوطهٔ دورافتاده، دری در لبهٔ پوشش شبکه.

وقتی گوشی آفلاین است، تردد باید در صف بماند. دام اینجاست که هر چه ساعت گوشی گفت ذخیره شود. یک ساعتِ عقب، تردد و هر چه پس از آن می‌آید را بی‌سروصدا جابه‌جا می‌کند — قواعد تأخیر، ساعت مورد انتظار، ورودی‌های حقوق و دستمزد — و یک ساعتِ جلو باعث می‌شود تردد صادقانه به‌عنوان زمان غیرممکن رد شود. راه‌حل این است که برداشت خودِ دستگاه از «اکنون» همراه تردد ارسال شود، اختلاف آن با ساعت سرور اندازه‌گیری شود، و مقدار اصلاح‌شده همراه با یک لنگر ممیزی ذخیره شود تا یک تردد مورد اختلاف همیشه قابل بازبینی باشد.

پاسخ محکم‌تر این است که گوشی را کلاً از مسیر اعتماد بیرون بگذاریم. نقش‌های کیوسک را برعکس کنید: به‌جای اینکه کیوسک کدی نشان دهد و گوشی آن را اسکن کند، گوشی به‌صورت آفلاین یک کد امضاشدهٔ کوتاه‌عمر می‌سازد و کیوسکِ ثابت و آنلاین آن را اسکن می‌کند. حضور فیزیکی می‌شود — آن فرد جلوی آن دوربین ایستاده — و زمان ثبت‌شده زمان سرور می‌شود. اتصال و ساعت گوشی دیگر اصلاً موضوعیت ندارند.

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