def static_sites_cleanup(days=30): """Clean up old static sites :param days: number of days after which to remove static sites """ expired_sites = StaticSite.find_all(StaticSite.requested_dt < (now_utc() - timedelta(days=days)), StaticSite.state == StaticSiteState.success) logger.info('Removing %d expired static sites from the past %d days', len(expired_sites), days) try: for site in expired_sites: site.delete_file() site.path = None site.state = StaticSiteState.expired logger.info('Removed static site %s', site) finally: db.session.commit()
def static_sites_cleanup(days=30): """Clean up old static sites :param days: number of days after which to remove static sites """ expired_sites = StaticSite.find_all(StaticSite.requested_dt < (now_utc() - timedelta(days=days)), StaticSite.state == StaticSiteState.success) logger.info('Removing %d expired static sites from the past %d days', len(expired_sites), days) try: for site in expired_sites: try: site.delete() except StorageReadOnlyError: # If a site is on read-only storage we simply keep it alive. logger.debug('Could not delete static site %r (read-only storage)', site) else: site.state = StaticSiteState.expired logger.info('Removed static site %r', site) finally: db.session.commit()