Wiele osób sugeruje, że ten problem może być związany z blokowaniem synchronicznych procesów w tle , szczególnie związanych z dużymi zadaniami cron .
Jeśli to prawda, istnieje duża para modułów będących w trakcie aktywnego opracowywania przez gielfeldt *, które mogą całkowicie wyeliminować ten problem, a przynajmniej mogą dostarczyć wskazówek i pomóc twórcom stron w diagnozowaniu i leczeniu konkretnych sprawców w ich przypadkach. Oba zamieniają blokujące procesy synchroniczne na nieblokujące asynchroniczne HTTP lub komendy i oba oferują odpowiednie raporty, które mogą zidentyfikować kłopotliwe procesy:
- Proces w tle i dołączone do niego moduły umożliwiają asynchroniczne przetwarzanie kolejki procesów w tle Drupala, więc nie blokują się. To może zatrzymać problem. Ponadto dzięki dołączonemu modułowi Serwer procesów Apache w tle w najnowszym urządzeniu opracowano podstawowy, ale ulepszony raport interfejsu użytkownika z funkcjami nadzorowania, odblokowywania i sprawdzania czasów rozpoczęcia i postępu tych procesów. Może to zidentyfikować problem.
- Ultimate Cron opiera się na procesie w tle, aby umożliwić wyzwalanym przez cron zadaniom posiadanie osobnych asynchronicznych schematów, z których każde może być monitorowane i zatrzymywane w interfejsie użytkownika. Oprócz tego, że doskonale nadaje się do oddzielania ciężkich zadań zmniejszania wydajności od zwykłego czyszczenia o niskim koszcie, daje również raport z wygodnymi informacjami, takimi jak czas trwania każdego pojedynczego zadania uruchamianego przez cron, kiedy ostatnio uruchomiono, aktualny stan, itp. Może to również usunąć blokowanie i / lub zidentyfikować problematyczne procesy.
Oba są i tak bardzo przydatnymi modułami; w przypadku tego problemu można je wykorzystać do przetestowania (bardzo prawdopodobnego brzmienia) teorii, że blokady są spowodowane synchronicznymi procesami blokowania lub uruchomieniami cron. Potencjalnie mogliby rozwiązać problem, uruchamiając je asynchronicznie zamiast synchronicznie, a także potencjalnie oferowali wskazówki, które konkretne procesy powodowały wstrzymanie. (ostrzegam, że ich dokumentacja jest w dużej mierze w toku ...
Jeśli jednak nie można ich skonfigurować tak, aby w ogóle pomagały, sugeruje to, że problem jest czymś więcej niż tylko synchroniczne procesy w tle. FWIW, nigdy nie miałem tego konkretnego problemu na stronie od czasu, gdy moduły te działały poprawnie (jeszcze - dotykaj drewna) - ale widziałem to wcześniej na moich stronach, a także na żywo w witrynach Drupal na wolności.
Należy także pamiętać o innych powiązanych modułach wtyczek, które są obecnie opracowywane - np. W skomplikowanych przypadkach o wysokiej intensywności, Ultimate Cron Queue Scaler , który umożliwia ograniczanie oparte na progach, może pomóc zmniejszyć problemy związane z wydajnością cron.
* brak przynależności, jestem pod dużym wrażeniem użytkownika ich pracy