Nano Hash - криптовалюты, майнинг, программирование

Мультиэкземпляр приложения coldfusion - синхронизация переменных приложения

Я работаю с общим сервером, на котором запущены два экземпляра CF10. В моем приложении некоторые функции хранятся в переменных приложения, и очень важно, чтобы оба экземпляра обновлялись одновременно с обновлением функций.

Тогда возникает вопрос: обновляются ли оба экземпляра при запуске функции OnApplicationStart()? Это был бы единственный способ обеспечить правильную синхронизацию кода между экземплярами.

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

Спасибо за любые общие знания.

22.08.2014

Ответы:


1

Каждый экземпляр ColdFusion может содержать несколько приложений. Каждое приложение может содержать несколько переменных приложения и сеанса.

Одна и та же кодовая база может выполняться на нескольких экземплярах, даже в виде нескольких отдельных приложений на одном экземпляре.

Когда вы перезапускаете Экземпляр 1, только приложения в этом экземпляре будут принимать любые изменения кода, связанные с переменными приложения или сеанса. Поэтому вам необходимо перезапустить все экземпляры на одном сервере, чтобы эти изменения вступили в силу.

Если вам нужно, чтобы значение было доступно во всех экземплярах несколькими приложениями на одном физическом сервере, рассмотрите возможность создания переменной в области SERVER.

Если вы установите такую ​​переменную <cfset server.foo = "hello", то любое приложение в любом экземпляре на том же физическом (или виртуальном) сервере сможет получить доступ к этой переменной. Это позволит избежать перезапуска всех экземпляров. Просто обновите функцию, а затем запустите одноразовый скрипт для сброса переменной.

Начиная с ColdFusion 9, вы можете определить эту переменную внутри метода onServerStart() файла Application.cfc. Это обеспечит его доступность при перезапуске всего сервера.

22.08.2014
  • Спасибо, Адриан. Это именно та информация, которая мне была нужна. Используя область сервера, я могу синхронизировать приложения. Каким-то образом использование этого прицела было потеряно для меня. Я ценю образование! 30.08.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..