#3569 Add absolute to clean sessions in koji-sweep-db
Merged a year ago by tkopecek. Opened a year ago by jcupova.
jcupova/koji issue-3394-2  into  master

file modified
+13 -7
@@ -10,16 +10,18 @@ 

  from koji.db import QueryProcessor, BulkInsertProcessor

  

  

- def clean_sessions(cursor, vacuum, test, age):

-     clauses = [f"update_time < NOW() - '{age} days'::interval"]

+ def clean_sessions(cursor, vacuum, test, age, absolute):

+     clauses = f"(update_time < NOW() - '{age:d} days'::interval)"

+     if absolute is not None:

+         clauses += f"OR (start_time < NOW() - '{absolute:d} days'::interval)"

+ 

      if options.verbose:

-         query = QueryProcessor(tables=['sessions'], clauses=clauses, opts={'countOnly': True})

+         query = QueryProcessor(tables=['sessions'], clauses=[clauses], opts={'countOnly': True})

          rows = query.execute()

          print(f"Deleting {rows} sessions")

  

      if not test:

-         cursor.execute(

-             f"DELETE FROM sessions WHERE update_time < NOW() - '{age} days'::interval")

+         cursor.execute(f"DELETE FROM sessions WHERE {clauses}")

          if vacuum:

              cursor.execute("VACUUM ANALYZE sessions")

  
@@ -152,7 +154,10 @@ 

                        help="Don't run vacuum on affected tables")

      parser.add_option('--sessions-age', type=int,

                        action="store", default=1, metavar="DAYS",

-                       help="Delete sessions older than this (default: 1 day)")

+                       help="Delete inactive sessions older than this (default: 1 day)")

+     parser.add_option('--sessions-absolute-age', type=int,

+                       action="store", default=None, metavar="DAYS",

+                       help="Delete all sessions older than this (default: None)")

      parser.add_option('--reservations-age', type=int,

                        action="store", default=1, metavar="DAYS",

                        help="Delete CG reservations older than this (default: 1 day)")
@@ -224,7 +229,8 @@ 

      context.cnx.set_session(autocommit=True)

      cursor = context.cnx.cursor()

  

-     clean_sessions(cursor, options.vacuum, options.test, options.sessions_age)

+     clean_sessions(cursor, options.vacuum, options.test, options.sessions_age,

+                    options.sessions_absolute_age)

      clean_reservations(cursor, options.vacuum, options.test, options.reservations_age)

      if options.tag_notifications:

          clean_notification_tasks(cursor, options.vacuum, options.test,

rebased onto 820a6fd14d72ce755606b57bfc45636b51e46c6d

a year ago

rebased onto 5067ec54e73cfb96c7cd5fd06a5e0e337f660369

a year ago

rebased onto 92473ed6b609160a8a1abdd9a8361ced3530e6d4

a year ago

rebased onto efa7826fd82cb91fabf242d369f140aca6a1f0cd

a year ago

rebased onto 176c0df

a year ago

Metadata Update from @tkopecek:
- Pull-request tagged with: testing-ready

a year ago

Metadata Update from @jcupova:
- Pull-request tagged with: testing-done

a year ago

Commit fdfe308 fixes this pull-request

Pull-Request has been merged by tkopecek

a year ago