Имитация фоновой задачи в AppHarbor - PullRequest
6 голосов
/ 05 февраля 2012

Я использую System.Runtime.Caching.MemoryCache для имитации повторяющейся задачи в запущенном приложении .NET MVC, развернутом в AppHarbor.

Записи в кеше добавляются с использованием CacheItemPolicy, который содержит смещение AbsoluteExpiration и RemovedCallback, который вызывает метод и инициирует добавление элемента в кеш (как описано здесь )

MemoryCache заполняется впервые в Application_Start. Он отлично работает локально, но, похоже, не работает после развертывания в AppHarbor (пробовал также с HttpRuntime.Cache, тот же результат).

Мое приложение запущено под бесплатной учетной записью CANOE в AppHarbor, в которой работает только один работник. Означает ли это, что я не смогу смоделировать фоновую задачу, пока не обновлюсь до платного плана?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 05 февраля 2012

Ваше приложение должно иметь посетителей время от времени, чтобы это работало.Помимо StillAlive, Pingdom также является хорошим выбором для создания запросов к вашему приложению.Вы также должны взглянуть на MomentApp .Мы ожидаем, что фоновые задачи будут готовы в ближайшее время.

0 голосов
/ 05 февраля 2012

Не думаю, что обновление поможет, они работают над добавлением фоновых заданий в AppHarbor, но, насколько мне известно, они еще доступны.

Как насчет использования службы типа https://stillalive.com/ для периодического просмотра страницы на вашем сайте, которая затем раскручивает новый поток и запускает фоновую задачу? Доступно как бесплатное дополнение.

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

...