2010-12-29 1 views
0

Я использую рубин 1.8.7 и рельсы 2.3.8 и моя проблема заключается в следующем: -Общий массив в рельсах рубин темы на Nginx

я должен назвать 6 различных веб-сервисов с помощью AJAX, чтобы получить результаты и конец всех результатов заполняется в одном глобальном массиве. Результаты этих веб-сервисов возвращаются обычно в произвольные моменты времени (все эти веб-службы обычно возвращают результаты в течение 6-15 секунд).

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

Это хорошо работает на машинке разработки с дворняжкой, но на nginx создает проблемы.

Любые мысли?

ответ

1

Это действительно не то, для чего нужны глобальные переменные, и я не удивлен, что он не работает надежно при использовании этой техники. Вы должны рассмотреть возможность размещения данных в другом месте (будь то обычная база данных или что-то вроде redis, которое хорошо подходит для простого хранения массива). Таким образом, данные меньше связаны с различными потоками.

+0

Спасибо за ваш ответ. Однако в моем случае я должен запросить веб-службы, чтобы получить требуемый результат, и после выполнения некоторого извлечения по этим данным я делаю его доступным для пользователей. Мне не нужно сохранять эти данные, так как он изменяет/валидность изменений за несколько часов. Это кажется проблемой с nginx и рубинами. Кажется, что nginx не является потокобезопасным с рельсами, и нет никакой проблемы с этой проблемой? –