Skip to content
This repository has been archived by the owner on Oct 31, 2023. It is now read-only.

New subtasks count limit #4788

Merged
merged 6 commits into from
Oct 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 1 addition & 18 deletions apps/blender/task/blenderrendertask.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@
FrameRenderingTaskBuilder, FrameRendererOptions
from apps.rendering.task.renderingtask import PREVIEW_EXT, PREVIEW_X, \
PREVIEW_Y
from apps.rendering.task.renderingtaskstate import RenderingTaskDefinition, \
RendererDefaults
from apps.rendering.task.renderingtaskstate import RenderingTaskDefinition
from golem.core.common import short_node_id, to_unicode
from golem.core.fileshelper import has_ext
from golem.docker.task_thread import DockerTaskThread
Expand All @@ -33,20 +32,6 @@
logger = logging.getLogger(__name__)


class BlenderDefaults(RendererDefaults):
def __init__(self):
RendererDefaults.__init__(self)
self.output_format = "EXR"

self.min_subtasks = 1
self.max_subtasks = 100
self.default_subtasks = 6


class BlenderNVGPUDefaults(BlenderDefaults):
pass


class PreviewUpdater(object):
def __init__(self, preview_file_path, preview_res_x, preview_res_y,
expected_offsets):
Expand Down Expand Up @@ -607,7 +592,6 @@ class BlenderRenderTaskBuilder(FrameRenderingTaskBuilder):
""" Build new Blender tasks using RenderingTaskDefintions and
BlenderRendererOptions as taskdefinition renderer options """
TASK_CLASS: Type[BlenderRenderTask] = BlenderRenderTask
DEFAULTS: Type[BlenderDefaults] = BlenderDefaults

@classmethod
def build_dictionary(cls, definition):
Expand Down Expand Up @@ -639,7 +623,6 @@ def build_full_definition(cls, task_type, dictionary):

class BlenderNVGPURenderTaskBuilder(BlenderRenderTaskBuilder):
TASK_CLASS: Type[BlenderRenderTask] = BlenderNVGPURenderTask
DEFAULTS: Type[BlenderDefaults] = BlenderNVGPUDefaults


class CustomCollector(RenderingTaskCollector):
Expand Down
9 changes: 3 additions & 6 deletions apps/core/task/coretask.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,9 +280,8 @@ def get_tasks_left(self):
return (self.get_total_tasks() - self.last_task) \
+ self.num_failed_subtasks

# pylint:disable=unused-argument
@classmethod
def get_subtasks(cls, part):
# pylint:disable=unused-argument,no-self-use
def get_subtasks(self, part) -> Dict[str, dict]:
return dict()

def restart(self):
Expand Down Expand Up @@ -518,7 +517,7 @@ def copy_subtask_results(


class CoreTaskBuilder(TaskBuilder):
TASK_CLASS = CoreTask
TASK_CLASS: Type[CoreTask]
OUTPUT_DIR_TIME_FORMAT = '_%Y-%m-%d_%H-%M-%S'

def __init__(self,
Expand Down Expand Up @@ -555,8 +554,6 @@ def build_minimal_definition(cls, task_type: CoreTaskTypeInfo, dictionary) \
definition.compute_on = dictionary.get('compute_on', 'cpu')
definition.subtasks_count = int(dictionary['subtasks_count'])
definition.concent_enabled = dictionary.get('concent_enabled', False)
if 'optimize_total' in dictionary:
definition.optimize_total = bool(dictionary['optimize_total'])
if 'resources' in dictionary:
definition.resources = set(dictionary['resources'])
return definition
Expand Down
20 changes: 0 additions & 20 deletions apps/core/task/coretaskstate.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,25 +37,6 @@ def _generate_next_value_(name, *_): # pylint:disable=no-self-argument
disabled = enum.auto()


class TaskDefaults(object):
""" Suggested default values for task parameters """

def __init__(self):
self.output_format = ""
self.min_subtasks = 1
self.max_subtasks = 50
self.default_subtasks = 20
self.name = ""

@property
def timeout(self):
return DEFAULT_TIMEOUT

@property
def subtask_timeout(self):
return DEFAULT_SUBTASK_TIMEOUT


class TaskDefinition(object):
""" Task description used in GUI and in save file format"""

Expand All @@ -68,7 +49,6 @@ def __init__(self):
self.estimated_memory = 0

self.subtasks_count = 0
self.optimize_total = False
self.output_file = ""
self.task_type = None
self.name = ""
Expand Down
5 changes: 2 additions & 3 deletions apps/dummy/benchmark/benchmark.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@

from apps.core.benchmark.benchmarkrunner import CoreBenchmark
from apps.dummy.task.dummytask import DummyTask
from apps.dummy.task.dummytaskstate import DummyTaskDefinition, \
DummyTaskDefaults
from apps.dummy.task.dummytaskstate import DummyTaskDefinition
from apps.dummy.task.verifier import DummyTaskVerifier
from golem.core.common import get_golem_path
from golem.verifier.subtask_verification_state import SubtaskVerificationState
Expand All @@ -17,7 +16,7 @@ def __init__(self):
self.dummy_task_path = join(get_golem_path(),
"apps", "dummy", "test_data")

td = self._task_definition = DummyTaskDefinition(DummyTaskDefaults())
td = self._task_definition = DummyTaskDefinition()
td.shared_data_files = [join(self.dummy_task_path, x) for x in
td.shared_data_files]

Expand Down
37 changes: 5 additions & 32 deletions apps/dummy/task/dummytaskstate.py
Original file line number Diff line number Diff line change
@@ -1,39 +1,22 @@
import os
import tempfile
from copy import deepcopy

from apps.core.task.coretaskstate import (TaskDefinition,
TaskDefaults, Options)
from apps.core.task.coretaskstate import TaskDefinition, Options
from apps.dummy.dummyenvironment import DummyTaskEnvironment
from golem.core.common import get_golem_path
from golem.resource.dirmanager import symlink_or_copy, list_dir_recursive


class DummyTaskDefaults(TaskDefaults):
""" Suggested default values for dummy task"""

def __init__(self):
super(DummyTaskDefaults, self).__init__()
self.options = DummyTaskOptions()
self.options.difficulty = 0xffff0000 # magic number

self.shared_data_files = ["in.data"]
self.out_file_basename = "out"
self.default_subtasks = 5
self.code_dir = os.path.join(get_golem_path(),
"apps", "dummy", "resources", "code_dir")
self.result_size = 256 # length of result hex number


class DummyTaskDefinition(TaskDefinition):
def __init__(self, defaults=None):
def __init__(self):
TaskDefinition.__init__(self)

self.options = DummyTaskOptions()
self.options.difficulty = 0xffff0000 # magic number
self.task_type = 'DUMMY'

# subtask data
self.shared_data_files = []
self.shared_data_files = ["in.data"]

# subtask code
self.code_dir = os.path.join(get_golem_path(),
Expand All @@ -43,8 +26,7 @@ def __init__(self, defaults=None):
self.result_size = 256 # length of result hex number
self.out_file_basename = "out"

if defaults:
self.set_defaults(defaults)
self.subtasks_count = 5

def add_to_resources(self):
super().add_to_resources()
Expand Down Expand Up @@ -77,15 +59,6 @@ def add_to_resources(self):

self.resources = set(list_dir_recursive(self.tmp_dir))

# TODO maybe move it to the CoreTask? Issue #2428
def set_defaults(self, defaults: DummyTaskDefaults):
self.shared_data_files = deepcopy(defaults.shared_data_files)
self.out_file_basename = defaults.out_file_basename
self.code_dir = defaults.code_dir
self.result_size = defaults.result_size
self.subtasks_count = defaults.default_subtasks
self.options = deepcopy(defaults.options)


class DummyTaskOptions(Options):
def __init__(self):
Expand Down
1 change: 0 additions & 1 deletion apps/rendering/benchmark/renderingbenchmark.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ def __init__(self):
self._task_definition.resolution = [200, 100]
self._task_definition.timeout = 10000
self._task_definition.subtask_timeout = 10000
self._task_definition.optimize_total = False
self._task_definition.resources = set()
self._task_definition.subtasks_count = 1
self._task_definition.start_task = 1
Expand Down
Loading