У меня есть сценарий Perl CGI, который довольно ресурсоемкий (занимает около 2 секунд). Это нормально, если только 4 или 5 из них работают одновременно, и это обычно так.
Проблема в том, что когда пользователь щелкает ссылку, которая вызывает этот сценарий, создается новый процесс для обработки этого запроса на подключение, поэтому, если пользователь нажимает много раз (если он нетерпеливый), сервер перегружается новыми процессы запущены, и большинство из них являются избыточными.
Как я могу убедиться, что только один экземпляр этого процесса запущен на хосте?
Это старая система, которую я поддерживаю и которая использует старую платформу для внешнего интерфейса, и я хотел бы избежать использования javascript для отключения кнопки клиента, если это возможно. О преобразовании этого в fast-cgi perl также не может быть и речи, опять же, потому что это старая система, и добавление fast-cgi в apache может нарушить многие другие вещи, которые эта штука запускает.