Для обеспечения быстрой и независимой работы приложения справочник меню кэшируется на каждом смартфоне с приложением. В данном разделе описываются подробности технической реализации формирования и обновления кэша справочника меню.
Первоначально меню загружается при старте плагина и кэшируется на плагине iikoWaiter с присвоением номера версии (ревизии) меню на момент даты и времени обновления.
В приложении при выполнении логина сотрудника, а также при открытии заказа на редактирование, выполняется проверка номера версии меню на смартфоне. При наличии на плагине более свежей версии меню, она асинхронно отдается на устройство и хранится в оперативной памяти. Такой вариант обеспечивает на практике гарантированную актуальность меню не ниже, чем на плагине без излишней загрузки сети.
На плагине кэш хранится также в оперативной памяти и обновляется либо автоматически по настроенному расписанию, либо инициируется вручную. Для обеспечения актуальности данных справочника необходимо настроить параметры автообновления кэша на плагине согласно рекомендациям, описанным ниже с учетом особенности работы конкретного заведения.
Автоматическое обновление меню
При настройках плагина по умолчанию обновление меню в автоматическом режиме производится по расписанию: каждый час в 00 минут 00 секунд (например, 09 часов 00 минут 00 секунд → 10 часов 00 минут 00 секунд → и т.д.).
Таймер обновления меню возможно настроить под собственные нужды, если, например, вам необходимо обновлять меню не каждый час, а, допустим каждый час в 01 минуту.
Тонкая перенастройка расписания обновления меню рекомендуется, когда на предприятии может оказаться крайне полезной при работе с приказами и бизнес-ланчами. При настройке по умолчанию, если приказ вступит в силу в 13 часов 00 минут 02 секунды, то до 14:00 изменений в меню в мобильном приложении не будет видно, за исключением ручного обновления в этот период.
Например, у вас каждый будний день обновляется меню бизнес-ланча, которое действует с 11:30 до 17:30.
В этом случае вы можете выполнить тонкую настройку расписания через cron-выражение, которое будет выглядеть следующим образом.
Настройка расписания производится в административной web-панели плагина iikoWaiter5 в разделе “Settings“ в поле “Menu update schedule”.
Значение в данном поле устанавливается с использованием cron-выражения. По умолчанию установлено значение “0 0 * ? * * *”. Данное выражение устанавливает таймер на каждый час в 00 минут 00 секунд. Для удобного редактирования cron-выражения можно использовать сервис Freeformatter, который можно вызвать нажав на вопросительный знак рядом с полем “Menu update schedule”.
Примеры cron-выражений
0 1 * ? * * * - каждый час в 01 минуту (удобно для бизнес-ланчей)
0 * * ? * * * - каждую минуту
0 */10 * ? * * * - каждые 10 минут
0 0 * ? * * * - каждый час
0 0 0/2 ? * * - каждый четный час
0 0 1/2 ? * * - каждый нечетный час
0 0 */3 ? * * - каждые 3 часа
18 5 */3 ? * * - каждые 3 часа в 05 минут 18 секунд
После установки в поле необходимого значения cron-выражения, необходимо сохранить внесенные изменения нажатием кнопки “Save settings” внизу страницы настроек на административной панели.
После этого обновление меню будет производиться в установленные вами интервалы.
Следует иметь ввиду, что обновление меню производится путем направления соответствующего сетевого запроса с плагина iikoWaiter на iikoFront и может иметь размер данных до нескольких мегабайт, поэтому интервал необходимо устанавливать действительно необходимой величины. Установка значения “* * * ? * * *” (каждую секунду) - может перегрузить сеть излишне частыми запросами на обновление меню.
Ручное обновление меню
В случае разовых изменений позиций меню в iikoOffice, не требующих постоянного ежедневного обновления в заранее известное время, можно использовать ручное обновление меню в iikoWaiter5.
Ручное обновление меню не отменяет автоматическое обновление и может использоваться в дополнение к обновлению по расписанию.
Обновление производится через главную кассу iikoFront, где установлен плагин iikoWaiter5, в разделе Дополнения.
Затем, в появившемся меню необходимо выбрать “iikoWaiter: update menu“.
После нажатия на данную кнопку произойдет ручное обновление меню и все ранее внесенные изменения будут отображены в мобильном приложении iikoWaiter5, а также на iikoFront будет выведено информационное сообщение, означающее успешное выполнение операции обновления кэша с информацией о номере обновленной версии меню.
Номер ревизии меню будет отражен также и в мобильном приложении iikoWaiter5. Для того, чтобы окончательно убедиться в том, что ручное обновление действительно сработало, зайдите в раздел “Поддержка” в мобильном приложении iikoWaiter5. Ревизия меню, дата и время в мобильном приложении должны совпадать с информационным окном, указанным выше.