Один из основных методов - записать время последнего щелчка в серверной переменной или переменной сеанса. При каждом клике сверяйте время последнего клика. Если интервал слишком мал, вернитесь без запуска остальной части процесса.
Другой метод состоит в том, чтобы установить логическое значение, такое как 'active', в true в начале метода и обратно в false в конце. В начале метода проверьте текущее состояние этой переменной и действуйте соответствующим образом.
Основное различие между этими двумя методами состоит в том, что первый позволяет одновременно запускать несколько экземпляров метода, если они находятся в шахматном порядке на достаточно длительном интервале. Второй метод всегда убивает или блокирует любые новые экземпляры метода до тех пор, пока не закончится текущий.