Wpis z mikrobloga

Mam aplikację ASP.NET na serwerze IIS, która musi działać cały czas, a zauważyłem, że po jakimś czasie automatycznie się wyłącza/zatrzymuje/etc., przez co nie spełnia swojej głównej funkcjonalności. Co może być przyczyną?

#programowanie
  • 13
  • Odpowiedz
@Fawek nie pamietam jak sie nazywa ustawienie ale domyslnie przy braku aktywnosci iis usypia pule aplikacji. W zaawansowanych ustawieniach puli powinienes znalezc.

Moze tez byc dlatego ze pula aplikacji sie zatrzymuje z powodu bledow. Info znajdziesz w event logu systemowym
  • Odpowiedz
@jjczopek: jeśli chodzi o coś takiego jak "IdleTime", to ustawiłem to na 0, czyli wyłączyłem to usypianie, mimo to aplikacja wciąż się usypia... ( ͡° ʖ̯ ͡°)
  • Odpowiedz
  • 0
@Fawek kiedyś próbowałem zgłębić temat, paru administratorów powiedziało mi, że IIS nie jest najlepszym miejscem na trzymanie długo działających procesów, bo IIS potrafi odpalić recycle na apce z kilkunastu/dziesięciu powodów. Nie jest to problemem kiedy apka wstaje 0.1s, ale jeśli masz sporo danych do załadowania na starcie to masz timeout u klienta ;/
PS możliwe, że oni po prostu nie wiedzieli jak to ustawić, ale przejrzałem też neta i wszystkie możliwe flagi
  • Odpowiedz
@jjczopek: @Neoniks: @Yahoo_: To akurat dosyć "lekka" apka, która po prostu ładuje kilka / kilkanaście rekordów do bazy codziennie w nocy, jednak się "mrozi" po jakimś czasie i jak wstaje następnego dnia to nie ma w bazie nowych rekordów.

Jest jakiś sposób żeby na przykład co 10 minut "stawiać" aplikację na nogi? Windowsowe zaplanowane zadania czy coś?
  • Odpowiedz
@Yahoo_: Ma API jak i również schedule, które odpala się samo. Może mógłbym w systemie zaplanować "pukanie" w jakiś endpoint co powodowałoby że apka się nie wyłącza... :P

Wiem wiem, tak nie powinno się robić, ale aktualnie to jest chyba jedyne rozwiązanie.
  • Odpowiedz
@Fawek: nie lepiej po prostu przestawić schedule do windowsa? Zamiast pukać co 5min, żeby raz dziennie coś wrzucić, po prostu raz dziennie wysłać request, żeby wrzucił co ma do zrobienia? IIS jak dostanie requesta to postawi apkę i zrobi robotę, u Ciebie problemem jest to, że nie dostaje requesta, bo jest on wysyłany z wnętrza apki (czyli wcale jak IIS go ubije).
  • Odpowiedz
@Fawek: podobna sytuacja jest w azure w darmowym planie. Korzystam z uptimerobot ktory co iles tam min puka do endpointu zapobiegajac usypianiu + robi za monitor uptime przy okazji ;)
  • Odpowiedz