@@ -120,13 +120,13 @@ class RequestStatus(str, Enum):
120
120
def delete_requests (
121
121
status : RequestStatus = RequestStatus .running ,
122
122
connection_string : Optional [str ] = None ,
123
- minutes : float = typer . Option ( 0.0 ) ,
124
- seconds : float = typer . Option ( 0.0 ) ,
125
- hours : float = typer . Option ( 0.0 ) ,
126
- days : float = typer . Option ( 0.0 ) ,
123
+ minutes : float = 0 ,
124
+ seconds : float = 0 ,
125
+ hours : float = 0 ,
126
+ days : float = 0 ,
127
127
skip_confirmation : Annotated [bool , typer .Option ("--yes" , "-y" )] = False ,
128
128
) -> None :
129
- """Remove records from the system_requests table that are in the specified status.
129
+ """Set the status of records in the system_requests table to 'dismissed' if they are in the specified status.
130
130
131
131
Parameters
132
132
----------
@@ -139,24 +139,24 @@ def delete_requests(
139
139
minutes = minutes , seconds = seconds , hours = hours , days = days
140
140
)
141
141
with database .ensure_session_obj (None )() as session :
142
- database .logger .info (f"deleting { status } system_requests before { timestamp } ." )
142
+ database .logger .info (f"Setting status to 'dismissed' for { status } system_requests before { timestamp } ." )
143
143
statement = (
144
- sa .delete (database .SystemRequest )
144
+ sa .update (database .SystemRequest )
145
145
.where (database .SystemRequest .status == status )
146
146
.where (database .SystemRequest .created_at < timestamp )
147
+ .values (status = 'dismissed' )
147
148
)
148
149
number_of_requests = session .execute (statement ).rowcount
149
150
if not skip_confirmation :
150
151
if not typer .confirm (
151
- f"Deleting { number_of_requests } { status } requests. Do you want to continue?" ,
152
+ f"Setting status to 'dismissed' for { number_of_requests } { status } requests. Do you want to continue?" ,
152
153
abort = True ,
153
154
default = True ,
154
155
):
155
156
typer .echo ("Operation cancelled." )
156
157
return
157
158
session .commit ()
158
- typer .echo (f"{ number_of_requests } requests successfully removed from the broker database." )
159
-
159
+ typer .echo (f"Status set to 'dismissed' for { number_of_requests } requests in the broker database." )
160
160
161
161
@app .command ()
162
162
def info (connection_string : Optional [str ] = None ) -> None :
0 commit comments