اجرای دستیِ همگامسازی و تشخیصِ خطا
اجرای دستیِ همگامسازی برای وقتی است که میخواهید تغییرات را همین حالا به سرور بفرستید و از سرور بگیرید، یا وقتی که صفحه خطا یا «ناقص» نشان میدهد. با این راهنما یک دور را اجرا میکنید، پیامِ پایانِ آن را میخوانید و خطا را از روی نوعش میشناسید.
این راهنما رفتارِ کد را میگوید؛ یک دورِ واقعیِ همگامسازی با سرورِ زنده در این سند دیده نشده است (همگامسازی چیست و چه نیست).
مثالِ واقعیِ اجرای دستیِ همگامسازی
اجرای دستی را در «سبد نارون» ببینید. فروشنده در انبار بدونِ اینترنت چند فاکتور زده است. حالا که دوباره به وایفایِ مغازه وصل شدهاند، صاحبِ مغازه میخواهد پیش از بستنِ دکان مطمئن شود همهچیز به سرور رفته؛ پس یک دورِ دستی اجرا میکند.
پیش از شروعِ اجرای دستی
برای اجرای دستی، هر نقشِ واردشدهای کافی است و به نقشِ «تنظیمات» نیازی نیست.
- نصب باید به سرورِ ناخدا وصل باشد؛ در نصبِ بیسرور دکمه نیست و فقط صفحهٔ «پیکربندینشده» و «کپیِ گزارشِ خطا» هست.
- اتصال به اینترنت لازم است؛ بدونِ آن دور با خطای شبکه تمام میشود و چیزی از دست نمیرود، تغییرها در صف میمانند.
- دورِ خودکار هم هست (باز شدنِ برنامه، برگشتِ اتصال، بازگشت به پیشزمینه، رویدادِ سرور و هر پانزده دقیقه)؛ اگر همزمان با دورِ دستی برسد، فقط یک دور اجرا میشود.
مراحلِ اجرای دستیِ همگامسازی
برای اجرای دستی در صفحهٔ «همگامسازی»، این مراحل را انجام دهید:
- در «تنظیمات» کاشیِ «همگامسازی» را بزنید و برچسبِ فعلی و شمارِ تغییراتِ منتظر را نگاه کنید (خواندنِ وضعیتِ همگامسازی).
- «همگامسازی کن» را بزنید. تا پایانِ دور دکمه در حالتِ بارگذاری و خاموش است.
- تا پایانِ دور صبر کنید. زیرِ «در حالِ همگامسازی…» گامِ جاری نوشته میشود، مثلاً «ارسالِ تغییرات به سرور…» و بعد «دریافتِ تغییرات از سرور…». اگر «در انتظارِ نوبت (دورِ قبلی یا تبِ دیگر)…» دیدید، دورِ دیگری در جریان است.
- توستِ پایانِ دور را بخوانید (جدولِ پایین). «همگامسازی با موفقیت انجام شد» فقط وقتی میآید که هیچ حالتِ دیگری نباشد.
- اگر دور ناموفق بود، «نمایشِ جزئیات» را بزنید و پیامِ ساده را با جدولِ «نوعِ خطا» در پایین مقایسه کنید؛ بعد «پنهانکردنِ جزئیات» را بزنید.
- اگر دور ناقص بود یا «نیازمندِ توجه» نشان داد، به کارتِ «تعارضها و ردهایِ دائمی» بروید (حلِ تعارض و ردِ دائمی در همگامسازی).
- اگر مشکل ماند، «کپیِ گزارشِ خطا» را بزنید و گزارش را برایِ پشتیبانی بفرستید.
توستِ پایانِ دور:
| پیام | معنا |
|---|---|
| «همگامسازی با موفقیت انجام شد» | دور موفق بود و ردِ تازهای نیست |
| «همگامسازی ناموفق بود — دوباره تلاش کنید» | ارتباط با سرور شکست خورد؛ نوعش را در جدولِ بعد بیابید |
| «۴ تغییر همچنان نرفته — «تعارضها و ردهایِ دائمی» را ببینید» | دور ناقص بود و صف خالی نشد |
| «ارسال زودتر متوقف شد — دورِ بعد از همانجا ادامه میدهد» | ناقص: دستهٔ نیمهتأییدشده یا پاسخِ نامعلومِ سرور؛ دورِ بعد ادامه میدهد |
| «دریافتِ این جدولها ناتمام ماند و در دورِ بعد ادامه مییابد: invoices» | ناقص: دریافتِ جدولی به سقفِ صفحهبندیِ سرور خورد |
| «این جدولها روی سرور نیستند و از آنها پریده شد: budgets» | ناقص: جدولی روی سرور نیست |
| «۲ ردیفِ سرور روی این دستگاه قابلِ اعمال نبود و قرنطینه شد — پایینِ همین صفحه» | ناقص: ردیفِ سرور روی دستگاه نشست نکرد |
| «همگامسازی انجام شد، ولی ۳ مورد نیازمندِ توجه است — تعارض، ردِ دائمی یا پیوستِ آپلودنشده در همین صفحه» | دور تمام شد ولی موردی باز است |
| «۱ سند بهطورِ دائمی رد شد — پایینِ همین صفحه را ببینید» | دور موفق بود ولی سندی ردِ دائمی شد |
نوعِ خطا (پیامِ سادهای که پس از شکست زیرِ برچسب میآید):
| پیام | معنا و کاری که میکنید |
|---|---|
| «اتصال به سرور برقرار نشد یا سرور موقتاً پاسخ نداد — کمی بعد دوباره تلاش کنید» | شبکه یا سرور موقتاً در دسترس نیست؛ اینترنت را ببینید و بعداً دوباره بزنید |
| «نشستِ ورودتان منقضی شده — دوباره وارد شوید و همگامسازی را تکرار کنید» | وارد شوید و دوباره بزنید (ورود و بازیابی دسترسی) |
| «دسترسیتان به این کسبوکار برداشته شده است — با مالک تماس بگیرید. کارِ همگامنشدهتان محلی میماند.» | سرور شما را عضوِ فعالِ این کسبوکار نمیداند؛ با مالک تماس بگیرید |
| «نوبت همگامسازی آزاد نشد. تبهای دیگر ناخدا با همین آدرس را ببندید؛ در اجرای محلی، صفحه را کامل بازخوانی کنید و دوباره تلاش کنید. دادههای ارسالنشده در این مرورگر باقی میمانند.» | تبِ دیگری از همین برنامه نوبت را نگه داشته؛ جزئیاتِ سکو در docs/guides/WEB-PLATFORM.md است |
| «اسکیمای سرور با این نسخهٔ برنامه نمیخواند — بخشی از دادهها همگام نشد. مدیرِ سیستم باید اسکریپتهای پایگاهداده را روی سرور اجرا کند.» | مشکل از سرور است نه از شما؛ گزارش را به پشتیبانی بدهید |
| «سرور نسخهٔ لازم برای این برنامه را ندارد — هیچ دادهای دریافت نشد. مدیرِ سیستم باید آخرین اسکریپتهای پایگاهداده را روی سرور اجرا کند. تلاشِ دوباره تا آن موقع کمکی نمیکند.» | مشکل از سرور است؛ تکرارِ دستی کمکی نمیکند |
| «خطایی غیرمنتظره رخ داد» | خطایِ دیگر؛ جزئیات را باز کنید و گزارش را کپی کنید |
نتیجهٔ اجرای دستی را چطور ببینم؟
نتیجهٔ اجرای دستی در سه جا دیده میشود: توستِ پایانِ دور، برچسبِ «همگامسازی شد» و خطِ «آخرین همگامسازی: ۱۴۰۵/۰۷/۲۵ ۱۰:۳۰» که فقط با دورِ کاملِ موفق بهروز میشود. در مثالِ «سبد نارون»، اگر شمارِ منتظرها به صفر برسد، فاکتورهای انبار از صف خارج شدهاند. اگر دور ناقص بود، دورِ بعد از همانجا ادامه میدهد و لازم نیست از اول شروع شود.
پشتِ صحنهٔ اجرای دستی در دفاتر چه ثبت شد؟
اجرای دستی خودش سندِ حسابداری نمیسازد: ثبت حسابداری ایجاد نمیشود. فقط سندها و ردیفهایی را که پیشتر در دستگاه ثبت شدهاند به سرور میفرستد و ردیفهایِ سرور را میگیرد. اگر دریافتِ سرور سندی را اعمال کند یا حذفی بیاورد، شمارهٔ سندهایِ «در انتظارِ شماره» دوباره خوانده میشود. تصمیمهای مربوط به دفاتر در همگامسازی چیست و چه نیست آمده است.
اگر اجرای دستی اشتباه شد
زدنِ «همگامسازی کن» بیخطر است و چیزی را حذف نمیکند؛ اگر دورِ دیگری در جریان باشد، منتظر میماند. اگر پس از شکست تغییری گم شده به نظر میرسد، گم نشده است: تا وقتی به سرور نرسیده، در صفِ همین دستگاه میماند، مگر اینکه دستگاه یا دادهٔ آن پاک شود. اگر جزئیاتِ خطا متنِ فنیِ بیترجمه است، آن را کپی کنید و به پشتیبانی بدهید. اگر شکست تکرار شد و پیام از مشکلِ سرور میگفت، تکرارِ پیاپی فایده ندارد؛ فاصلهٔ تلاشهایِ خودکار هم پس از هر شکست بیشتر میشود.
مرجعِ صفحهٔ اجرای دستی
همهٔ پیامها و حالتهایِ این صفحه در مرجع صفحهٔ همگامسازی آمده است.
مفاهیمِ مرتبط با اجرای دستیِ همگامسازی
مفاهیمِ مرتبط با اجرای دستی در خلاصههایِ زیر آمدهاند.