Files
wehub-resource-sync 2aaeece67c
Codestyle Check / Lint (push) Has been cancelled
Codestyle Check / Check bypass (push) Has been cancelled
Pipelines-Test / Pipelines-Test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:37:14 +08:00

41 lines
1.4 KiB
Python

# coding:utf-8
# copyright (c) 2022 paddlepaddle authors. all rights reserved.
#
# licensed under the apache license, version 2.0 (the "license"
# you may not use this file except in compliance with the license.
# you may obtain a copy of the license at
#
# http://www.apache.org/licenses/license-2.0
#
# unless required by applicable law or agreed to in writing, software
# distributed under the license is distributed on an "as is" basis,
# without warranties or conditions of any kind, either express or implied.
# see the license for the specific language governing permissions and
# limitations under the license.
import time
from .handlers import TaskflowHandler
from .utils import lock_predictor
from ..utils.log import logger
class TaskflowManager:
"""
The TaskflowManager could predict the raw text.
"""
def __init__(self, task, taskflow_handler=None):
self._task = task
if taskflow_handler is None:
self._handler_func = TaskflowHandler.process
else:
self._handler_func = taskflow_handler.process
def predict(self, data, parameters):
t = time.time()
t = int(round(t * 1000))
task_index = t % len(self._task)
logger.info("The predictor id: {} is selected by running the taskflow.".format(task_index))
with lock_predictor(self._task[task_index]._lock):
return self._handler_func(self._task[task_index], data, parameters)