def handle(self, *args, **options): if options['worker_name'] == 'process_requests': task_def = TaskDefinition(debug_mode=False) task_def.process_requests(restart=False, no_wait=False) elif options['worker_name'] == 'sync_ami_projects': ami_wrapper = AMIWrapper() ami_wrapper.sync_ami_projects() elif options['worker_name'] == 'sync_ami_types': ami_wrapper = AMIWrapper() ami_wrapper.sync_ami_types() elif options['worker_name'] == 'sync_ami_phys_containers': ami_wrapper = AMIWrapper() ami_wrapper.sync_ami_phys_containers() elif options['worker_name'] == 'sync_ami_tags': ami_wrapper = AMIWrapper() ami_wrapper.sync_ami_tags() elif options['worker_name'] == 'create_task_input': from debug import create_task_input create_task_input() elif options['worker_name'] == 'define_task_simulation_type': from debug import define_task_simulation_type define_task_simulation_type() elif options['worker_name'] == 'search_task_duplicates': from debug import search_task_duplicates search_task_duplicates()
def create_task_input(): from django.db.models import Q from taskengine.models import ProductionTask, ProductionTaskInput from deftcore.log import get_exception_string from taskengine.atlas.datamgmt import DDMWrapper task_def = TaskDefinition(debug_mode=True) ddm_wrapper = DDMWrapper() tasks = ProductionTask.objects.filter(~Q(project='user'), id__gte=4000000).order_by('id') for task in tasks.iterator(): try: number_of_events = 0 number_of_files = 0 input_dataset = task.input_dataset events_per_file = task.events_per_file if not events_per_file and input_dataset: events_per_file = task_def.get_events_per_file(input_dataset) if task.total_req_events: number_of_events = task.total_req_events if events_per_file: number_of_files = number_of_events / events_per_file elif task.number_of_events: number_of_events = task.number_of_events if events_per_file: number_of_files = number_of_events / events_per_file elif task.number_of_files: number_of_files = task.number_of_files number_of_events = number_of_files * events_per_file else: if input_dataset: try: number_of_files = ddm_wrapper.ddm_get_number_files(input_dataset) except: pass number_of_events = number_of_files * events_per_file task_input = ProductionTaskInput(task=task, ctag=task.step.step_template.ctag, output_formats=task.step.step_template.output_formats, input_name=task_def.get_step_input_data_name(task.step), events=number_of_events, files=number_of_files, events_per_job=task.events_per_job, events_per_file=events_per_file, input_dataset=input_dataset ) task_input.save() except: print "Task ID = %d, exception occurred: %s" % (int(task.id), get_exception_string())
def handle(self, *args, **options): task_def = TaskDefinition(debug_mode=False) task_def.process_requests(restart=False, no_wait=False, debug_only=True)