SowingSadness: cron специально придуман для таких вещей. В скрипте, к-й запускается по крону, будет меньше кода, чем в демоне. Соотвественно, скрипт проще поддерживать, отлаживать и тд
wing_pin: Сначало нужно определиться что такое "чат".
Откуда в нем берутся пользователи?
Сколько их?
Где хранятся и хранятся ли сообщения вообще?
И тд и тп
После этого можно выбирать технологии.
Очевидно, что сам по себе gevent не является ответом на все вопросы.
Можно сделать в таблице поле status, к-е будет принимать значение из следующего, например, набора: new, approved, marked_to_remove, removed.
В обработчике запроса вместо удаления поле status устанавливается в marked_to_remove.
Раз в N минут по крону запускается скрипт и меняет статус marked_to_remove, на removed (ну или удаляет из БД, тогда статус removed не нужен).
Если все пакеты ставить с помощью apt-get (а не собирать руками), то можно написать скрипт для сравнения и установкм пакетов. Пользовательские данные синхронизировать тем же rsync или хранить в системе контроля версий. Еще один вариант: держать виртуалку в облаке.