@@ -262,13 +262,15 @@ async def sync_crawls(self, data: MCSyncData):
262
262
)
263
263
264
264
else :
265
- if crawl .paused :
266
- await self .set_state (
267
- "paused" , status , crawl , allowed_from = RUNNING_AND_WAITING_STATES
268
- )
269
-
270
265
status .scale = 1
271
266
267
+ # stopping paused crawls
268
+ if crawl .paused and crawl .stopping :
269
+ status .stopReason = "stopped_by_user"
270
+ status .stopping = True
271
+ print (f"Paused crawl stopped by user, id: { crawl .id } " )
272
+ await self .mark_finished (crawl , status , "stopped_by_user" )
273
+
272
274
children = self ._load_redis (params , status , data .children )
273
275
274
276
storage_path = crawl .storage .get_storage_extra_path (oid )
@@ -881,7 +883,7 @@ async def sync_crawl_state(
881
883
status .initRedis = False
882
884
883
885
# crawler pods already shut down, remove redis pause key to allow unpausing later
884
- if crawl .paused or not status . initRedis :
886
+ if crawl .paused :
885
887
await redis .delete (f"{ crawl .id } :paused" )
886
888
887
889
elif crawler_running and not redis :
@@ -892,6 +894,10 @@ async def sync_crawl_state(
892
894
status .resync_after = self .fast_retry_secs
893
895
return status
894
896
897
+ # only get here if at least one crawler pod is running
898
+ if crawl .paused :
899
+ await redis .set (f"{ crawl .id } :paused" , "1" )
900
+
895
901
# update lastActiveTime if crawler is running
896
902
if crawler_running :
897
903
status .lastActiveTime = date_to_str (dt_now ())
@@ -1299,6 +1305,8 @@ async def add_file_to_crawl(self, cc_data, crawl: CrawlSpec, redis):
1299
1305
crawl .db_crawl_id , crawl .is_qa , crawl_file , filecomplete .size
1300
1306
)
1301
1307
1308
+ print ("FILE ADDED" , filecomplete .size )
1309
+
1302
1310
# no replicas for QA for now
1303
1311
if crawl .is_qa :
1304
1312
return True
@@ -1454,9 +1462,6 @@ async def update_crawl_state(
1454
1462
# backwards compatibility with older crawler
1455
1463
await redis .set ("crawl-stop" , "1" )
1456
1464
1457
- if crawl .paused :
1458
- await redis .set (f"{ crawl .id } :paused" , "1" )
1459
-
1460
1465
# resolve scale
1461
1466
if crawl .scale != status .scale :
1462
1467
status .scale = await self ._resolve_scale (
0 commit comments