MCPcopy
hub / github.com/cloudreve/cloudreve / MediaMetaQueue

Method MediaMetaQueue

application/dependency/dependency.go:623–657  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

621}
622
623func (d *dependency) MediaMetaQueue(ctx context.Context) queue.Queue {
624 d.mu.Lock()
625 defer d.mu.Unlock()
626
627 _, reload := ctx.Value(ReloadCtx{}).(bool)
628 if d.mediaMetaQueue != nil && !reload {
629 return d.mediaMetaQueue
630 }
631
632 if d.mediaMetaQueue != nil {
633 d.mediaMetaQueue.Shutdown()
634 }
635
636 settings := d.SettingProvider()
637 queueSetting := settings.Queue(context.Background(), setting.QueueTypeMediaMeta)
638
639 d.mediaMetaQueue = queue.New(d.Logger(), d.TaskClient(), nil, d,
640 queue.WithBackoffFactor(queueSetting.BackoffFactor),
641 queue.WithMaxRetry(queueSetting.MaxRetry),
642 queue.WithBackoffMaxDuration(queueSetting.BackoffMaxDuration),
643 queue.WithRetryDelay(queueSetting.RetryDelay),
644 queue.WithWorkerCount(queueSetting.WorkerNum),
645 queue.WithName("MediaMetadataQueue"),
646 queue.WithMaxTaskExecution(queueSetting.MaxExecution),
647 queue.WithResumeTaskType(
648 queue.MediaMetaTaskType,
649 queue.FullTextIndexTaskType,
650 queue.FullTextDeleteTaskType,
651 queue.FullTextRebuildTaskType,
652 queue.FullTextCopyTaskType,
653 queue.FullTextChangeOwnerTaskType,
654 ),
655 )
656 return d.mediaMetaQueue
657}
658
659func (d *dependency) IoIntenseQueue(ctx context.Context) queue.Queue {
660 d.mu.Lock()

Callers

nothing calls this directly

Calls 15

SettingProviderMethod · 0.95
LoggerMethod · 0.95
TaskClientMethod · 0.95
NewFunction · 0.92
WithBackoffFactorFunction · 0.92
WithMaxRetryFunction · 0.92
WithBackoffMaxDurationFunction · 0.92
WithRetryDelayFunction · 0.92
WithWorkerCountFunction · 0.92
WithNameFunction · 0.92
WithMaxTaskExecutionFunction · 0.92
WithResumeTaskTypeFunction · 0.92

Tested by

no test coverage detected