ФЭНДОМ


  • Как лучше оптимизировать работу модуля, чтобы он перегружался как можно меньшее количество раз? То есть чтобы он в идеале постоянно был активен в памяти, и можно было вызывать его функции. Мне кажется, это было бы максимально оптимальным в плане нагрузки на сервера.

    Насколько я смог разобраться, общая схема взаимодействия с модулями примерно такая:

    Оптимизация модулей Lua

    Где здесь происходит запуск и остановка модуля, а также кеширование работы модуля?
    Возможно ли, чтобы модуль продолжал быть активным между отдельными страницами?

    P.S. Я пытаюсь сделать что-то типа базы данных в одном файле, которую в последствии обновлять в полуавтоматическом режиме, а страницы чтобы сами подтягивали оттуда актуальную информацию.

      Загрузка редактора
    • Судя по этому:

      Each {{#invoke:}} call runs in a separate environment.  Variables defined
      in one {{#invoke:}} will not be available from another.  This restriction
      was necessary to maintain flexibility in the wikitext parser implementation.
      

      получается, что каждый invoke запускает модуль, а после отображения страницы он останавливается. Значит, выгоднее всего свести количество invoke к минимуму. Правильно я понимаю?

      Или всё же есть способ сделать так, чтобы модуль держался в памяти? Например, он мог бы выключаться по таймауту или из-за нехватки ресурсов, но не раньше. Тогда в случае большого наплыва читателей нагрузка будет не большой. Иначе для каждой статьи модулю Lua придется компилировать скрипт с огромной таблицей, хотя взять оттуда нужно лишь одну запись (как правило).

        Загрузка редактора
    • mw.loadData загружает данные один раз на страницу. то есть если ты в одном инвоке что-то загрузил, то повторная загрузка этих же данных из другого инвока уже не потребует ресурсов.

      обмен данными между инвоками, как и сохранение их в памяти и любое другое небезопасное действие, заблокирован.

      на будущее: задавая вопрос вида "как оптимизировать работу модуля", не забывай прилагать ссылки на модуль и пример его использования.

        Загрузка редактора
    • Участник ФЭНДОМА
        Загрузка редактора
Мне нравится это сообщение
Вам понравилось это сообщение!
Посмотреть кто добавил «Мне нравится»
Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.