Exemplo n.º 1
0
 def __init__(self):
     self.__option_entity = OptionEntity()
     self.__user_entity = UserEntity()
     self.__task_entity = TaskEntity()
     self.__profile_entity = ProfileEntity()
     self.__app_name = self.__option_entity.get_value_by_key(
         "app_name").lower()
Exemplo n.º 2
0
class Task():
    def __init__(self):
        self.__task_entity = TaskEntity()
        self.__helpers = Helpers()
        self.__logger = self.__helpers.get_logger(__name__)

    def get_task_with_uuid(self, uuid):
        return self.__task_entity.get_one_by_uuid(uuid)

    def update_task_with_uuid(self, uuid, task):
        return self.__task_entity.update_one_by_uuid(uuid, task)

    def create_task(self, task):
        return self.__task_entity.insert_one(task)

    def delay(self, task_name, parameters, user_id):
        tasks_module = importlib.import_module("app.tasks")
        task_object = getattr(tasks_module, task_name)

        try:
            task_result = task_object.delay(**parameters)
            if task_result.task_id != "":
                return self.create_task({
                    "uuid": task_result.task_id,
                    "status": "pending",
                    "executor": task_object.name,
                    "parameters": json.dumps(parameters),
                    "result": '{}',
                    "user_id": user_id
                })
        except Exception as e:
            self.__logger.error(
                _("Error while sending task %(taskName)s with parameters %(parameters)s to workers: %(error)s {'correlationId':'%(correlationId)s'}"
                  ) % {
                      "taskName":
                      task_name,
                      "parameters":
                      json.dumps(parameters),
                      "error":
                      str(e),
                      "correlationId":
                      parameters["correlation_id"]
                      if "correlation_id" in parameters.keys() else ""
                  })

        return False

    def get_many_by_executor(self, executor):
        return self.__task_entity.get_many_by_executor(executor)

    def delete_old_tasks_by_executor(self, executor, minutes):
        return self.__task_entity.delete_old_tasks_by_executor(
            executor, minutes)
Exemplo n.º 3
0
class Statistics():
    def __init__(self):
        self.__option_entity = OptionEntity()
        self.__user_entity = UserEntity()
        self.__task_entity = TaskEntity()
        self.__profile_entity = ProfileEntity()
        self.__app_name = self.__option_entity.get_value_by_key(
            "app_name").lower()

    def get_all_users(self):
        return {
            "type": "count",
            "record": "%s_all_users" % self.__app_name,
            "count": self.__user_entity.count_all(),
            "comment": "Current All Users on System"
        }

    def get_all_profiles(self):
        return {
            "type": "count",
            "record": "%s_all_profiles" % self.__app_name,
            "count": self.__profile_entity.count_all_profiles(),
            "comment": "Current All Profiles on System"
        }

    def get_all_tasks(self):
        return {
            "type": "count",
            "record": "%s_all_tasks" % self.__app_name,
            "count": self.__task_entity.count_all_tasks(),
            "comment": "Current All Tasks on System"
        }
Exemplo n.º 4
0
class Task():

    __task_entity = None

    def __init__(self):
        self.__task_entity = TaskEntity()

    def get_task_with_uuid(self, uuid):
        return self.__task_entity.get_one_by_uuid(uuid)

    def update_task_with_uuid(self, uuid, task):
        return self.__task_entity.update_one_by_uuid(uuid, task)

    def create_task(self, task):
        return self.__task_entity.insert_one(task)

    def delay(self, task_name, parameters, user_id):
        tasks_module = importlib.import_module("app.tasks")
        task_object = getattr(tasks_module, task_name)

        task_result = task_object.delay(**parameters)

        if task_result.task_id != "":

            return self.create_task({
                "uuid": task_result.task_id,
                "status": "pending",
                "executor": task_object.name,
                "parameters": json.dumps(parameters),
                "result": '{}',
                "user_id": user_id
            })

        return False

    def get_many_by_executor(self, executor):
        return self.__task_entity.get_many_by_executor(executor)

    def delete_old_tasks_by_executor(self, executor, minutes):
        return self.__task_entity.delete_old_tasks_by_executor(
            executor, minutes)
Exemplo n.º 5
0
 def __init__(self):
     self.__task_entity = TaskEntity()
Exemplo n.º 6
0
 def __init__(self):
     self.__task_entity = TaskEntity()
     self.__helpers = Helpers()
     self.__logger = self.__helpers.get_logger(__name__)