|
59 | 59 | use OCP\TaskProcessing\IInternalTaskType; |
60 | 60 | use OCP\TaskProcessing\IManager; |
61 | 61 | use OCP\TaskProcessing\IProvider; |
62 | | -use OCP\TaskProcessing\ISynchronousProgressiveProvider; |
| 62 | +use OCP\TaskProcessing\ISynchronousOptionsProvider; |
63 | 63 | use OCP\TaskProcessing\ISynchronousProvider; |
64 | 64 | use OCP\TaskProcessing\ISynchronousWatermarkingProvider; |
65 | 65 | use OCP\TaskProcessing\ITaskType; |
66 | 66 | use OCP\TaskProcessing\ITriggerableProvider; |
67 | 67 | use OCP\TaskProcessing\ShapeDescriptor; |
68 | 68 | use OCP\TaskProcessing\ShapeEnumValue; |
| 69 | +use OCP\TaskProcessing\SynchronousProviderOptions; |
69 | 70 | use OCP\TaskProcessing\Task; |
70 | 71 | use OCP\TaskProcessing\TaskTypes\AnalyzeImages; |
71 | 72 | use OCP\TaskProcessing\TaskTypes\AudioToAudioChat; |
@@ -1136,13 +1137,17 @@ public function processTask(Task $task, ISynchronousProvider $provider): bool { |
1136 | 1137 | $this->setTaskStatus($task, Task::STATUS_RUNNING); |
1137 | 1138 | if ($provider instanceof ISynchronousWatermarkingProvider) { |
1138 | 1139 | $output = $provider->process($task->getUserId(), $input, fn (float $progress) => $this->setTaskProgress($task->getId(), $progress), $task->getIncludeWatermark()); |
1139 | | - } elseif ($provider instanceof ISynchronousProgressiveProvider) { |
| 1140 | + } elseif ($provider instanceof ISynchronousOptionsProvider) { |
| 1141 | + $options = new SynchronousProviderOptions( |
| 1142 | + $task->getIncludeWatermark(), |
| 1143 | + $task->getPreferStreaming(), |
| 1144 | + fn (array $output) => $this->setTaskIntermediateOutput($task->getId(), $output), |
| 1145 | + ); |
1140 | 1146 | $output = $provider->process( |
1141 | 1147 | $task->getUserId(), |
1142 | 1148 | $input, |
1143 | 1149 | fn (float $progress) => $this->setTaskProgress($task->getId(), $progress), |
1144 | | - fn (array $output) => $this->setTaskIntermediateOutput($task->getId(), $output), |
1145 | | - $task->getPreferStreaming() |
| 1150 | + $options, |
1146 | 1151 | ); |
1147 | 1152 | } else { |
1148 | 1153 | $output = $provider->process($task->getUserId(), $input, fn (float $progress) => $this->setTaskProgress($task->getId(), $progress)); |
|
0 commit comments