Skip to content

Commit 785fd85

Browse files
authored
Ensure error and behavior logs are written to database in order (#2540)
Fixes #2539
1 parent 55bedcb commit 785fd85

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

backend/btrixcloud/operator/crawls.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,7 @@ async def sync_crawl_state(
878878
if crawler_running:
879879
status.lastActiveTime = date_to_str(dt_now())
880880

881-
file_done = await redis.lpop(self.done_key)
881+
file_done = await redis.rpop(self.done_key)
882882
while file_done:
883883
msg = json.loads(file_done)
884884
# add completed file
@@ -887,31 +887,31 @@ async def sync_crawl_state(
887887
await redis.incr("filesAdded")
888888

889889
# get next file done
890-
file_done = await redis.lpop(self.done_key)
890+
file_done = await redis.rpop(self.done_key)
891891

892-
page_crawled = await redis.lpop(f"{crawl.id}:{self.pages_key}")
892+
page_crawled = await redis.rpop(f"{crawl.id}:{self.pages_key}")
893893
qa_run_id = crawl.id if crawl.is_qa else None
894894

895895
while page_crawled:
896896
page_dict = json.loads(page_crawled)
897897
await self.page_ops.add_page_to_db(
898898
page_dict, crawl.db_crawl_id, qa_run_id, crawl.oid
899899
)
900-
page_crawled = await redis.lpop(f"{crawl.id}:{self.pages_key}")
900+
page_crawled = await redis.rpop(f"{crawl.id}:{self.pages_key}")
901901

902-
crawl_error = await redis.lpop(f"{crawl.id}:{self.errors_key}")
902+
crawl_error = await redis.rpop(f"{crawl.id}:{self.errors_key}")
903903
while crawl_error:
904904
await self.crawl_ops.add_crawl_error(
905905
crawl.db_crawl_id, crawl.is_qa, crawl_error
906906
)
907-
crawl_error = await redis.lpop(f"{crawl.id}:{self.errors_key}")
907+
crawl_error = await redis.rpop(f"{crawl.id}:{self.errors_key}")
908908

909-
behavior_log = await redis.lpop(f"{crawl.id}:{self.behavior_logs_key}")
909+
behavior_log = await redis.rpop(f"{crawl.id}:{self.behavior_logs_key}")
910910
while behavior_log:
911911
await self.crawl_ops.add_crawl_behavior_log(
912912
crawl.db_crawl_id, behavior_log
913913
)
914-
behavior_log = await redis.lpop(f"{crawl.id}:{self.behavior_logs_key}")
914+
behavior_log = await redis.rpop(f"{crawl.id}:{self.behavior_logs_key}")
915915

916916
# ensure filesAdded and filesAddedSize always set
917917
status.filesAdded = int(await redis.get("filesAdded") or 0)

0 commit comments

Comments
 (0)