Вы не можете удалить записи тот путь, при этом основной вопрос - это, Вы не можете использовать подзапрос для определения значения ПРЕДЕЛЬНОГО пункта.
Это работает (протестированный в MySQL 5.0.67):
DELETE FROM `table`
WHERE id NOT IN (
SELECT id
FROM (
SELECT id
FROM `table`
ORDER BY id DESC
LIMIT 42 -- keep this many records
) foo
);
промежуточный подзапрос требуется. Без него мы столкнулись с двумя ошибками:
, К счастью, с помощью промежуточного подзапроса позволяет нам обходить оба из этих ограничений.
Nicole указала, что этот запрос может быть значительно оптимизирован для определенных вариантов использования (таких как этот). Я рекомендую читать , которые отвечают также, чтобы видеть, соответствует ли это Вашему.
Библиотека триангулированных поверхностей GNU может сделать это за вас . Учтите, что поверхность должна быть закрытой. Это не относится к некоторым 3D-моделям.
Если вы хотите реализовать это самостоятельно, вы можете начать с просмотра их кода.
но это несколько замаскировало бы основную простоту идиомы, поэтому я предпочитаю это простое, открытое использование. Кстати, обратите внимание, что time.time и time.sleep используют секунды, а не минуты в качестве единицы времени, поэтому вам нужно 60, а не одна, чтобы указать «через минуту»; -).Таймер - это однократное событие. Это не может быть выполнено таким способом.
Использование таймера для вызова функции, которая затем создает другой таймер, который вызывает функцию, которая создает таймер, который вызывает функцию, которая создает таймер, ..., должно достичь предела рекурсии .
Вы не упоминаете свою ОС, но «пропуски» или «нерегулярные тики» вызваны двумя причинами.
Ваш компьютер занят, а «1 секунда» означает «довольно близко к 1 секунде, в зависимости от того, что else is going on "
Если вы запускаете таймер на 0,9999 секунды и ждете 1 секунду, вы можете быть на 1. 9999 (округляется до 1) или 2,00000. Может показаться, что он дублирует время или пропускает время. Внутренние аппаратные часы вашего компьютера очень точны, и округление до ближайшей секунды (всегда) приведет к удаленной возможности дублирования или пропусков.
Правильно используйте график. http://docs.python.org/library/sched.html#module-sched
Ваш фрагмент кода также не имеет смысла для sched. Вам не нужно создавать новый объект планировщика. Вам нужно только создать новое событие .
Прочтите http://docs.python.org/library/sched.html#sched.scheduler.enter при создании нового событие для существующего экземпляра планировщика.
и округление значений до ближайшей секунды (всегда) приведет к удаленной возможности дублирования или пропусков.Правильно используйте график. http://docs.python.org/library/sched.html#module-sched
Ваш фрагмент кода также не имеет смысла для sched. Вам не нужно создавать новый объект планировщика. Вам нужно только создать новое событие .
Прочтите http://docs.python.org/library/sched.html#sched.scheduler.enter при создании нового событие для существующего экземпляра планировщика.
и округление значений до ближайшей секунды (всегда) приведет к удаленной возможности дублирования или пропусков.Правильно используйте график. http://docs.python.org/library/sched.html#module-sched
Ваш фрагмент кода также не имеет смысла для sched. Вам не нужно создавать новый объект планировщика. Вам нужно только создать новое событие .
Прочтите http://docs.python.org/library/sched.html#sched.scheduler.enter при создании нового событие для существующего экземпляра планировщика.