@@ -50,24 +50,31 @@ def is_qa_resource(resource):
5050 return has_qa_tags or has_qa_title
5151
5252
53- def update_share (resource , urgent = True ):
53+ def update_share (resource , target_queue = None ):
54+ """
55+ By default, tasks are routed to queue based on module routing in CeleryRouter,
56+ :param resource: osf resource that is needed to be reindexed
57+ :param target_queue: should be task queue attribute of CeleryConfig f.e 'task_low_queue' for bulk background
58+ passing 'target_queue' allows low-level queue task run (reindexing files after a user merge) even though
59+ related module path may be marked to work with task_high_queue.
60+ """
5461 if not settings .SHARE_ENABLED :
5562 return
5663 if not hasattr (resource , 'guids' ):
5764 logger .error (f'update_share called on non-guid resource: { resource } ' )
5865 return
59- if urgent :
60- _enqueue_update_share (resource )
66+ if target_queue is not None :
67+ _enqueue_update_share (resource , target_queue )
6168 else :
62- _enqueue_update_share (resource , urgent = False )
69+ _enqueue_update_share (resource )
6370
6471
65- def _enqueue_update_share (osfresource , urgent = True ):
72+ def _enqueue_update_share (osfresource , target_queue = None ):
6673 _osfguid_value = osfresource .guids .values_list ('_id' , flat = True ).first ()
6774 if not _osfguid_value :
6875 logger .warning (f'update_share skipping resource that has no guids: { osfresource } ' )
6976 return
70- enqueue_task (task__update_share .s (_osfguid_value , urgent = urgent ))
77+ enqueue_task (task__update_share .s (_osfguid_value , target_queue = target_queue ))
7178
7279
7380@celery_app .task (
@@ -76,7 +83,7 @@ def _enqueue_update_share(osfresource, urgent=True):
7683 max_retries = 4 ,
7784 retry_backoff = True ,
7885)
79- def task__update_share (self , guid : str , is_backfill = False , osfmap_partition_name = 'MAIN' , urgent = True ):
86+ def task__update_share (self , guid : str , is_backfill = False , osfmap_partition_name = 'MAIN' , target_queue = None ):
8087 """
8188 Send SHARE/trove current metadata record(s) for the osf-guid-identified object
8289 """
0 commit comments