Index: branches/5.2.x/core/units/scheduled_tasks/scheduled_task_eh.php =================================================================== diff -u -N -r14989 -r15033 --- branches/5.2.x/core/units/scheduled_tasks/scheduled_task_eh.php (.../scheduled_task_eh.php) (revision 14989) +++ branches/5.2.x/core/units/scheduled_tasks/scheduled_task_eh.php (.../scheduled_task_eh.php) (revision 15033) @@ -1,6 +1,6 @@ Conn->Query($object->GetSelectSQL(), 'Name'); - foreach ($scheduled_tasks_from_cache as $run_mode => $events) { + foreach ($scheduled_tasks_from_cache as $scheduled_task_name => $scheduled_task_params) { + if ( !isset($scheduled_tasks_from_db[$scheduled_task_name]) ) { + $fields_hash = Array ( + 'Event' => $scheduled_task_params['Event'], + 'Name' => $scheduled_task_name, + 'Type' => ScheduledTask::TYPE_SYSTEM, + 'Status' => isset($scheduled_task_params['Status']) ? $scheduled_task_params['Status'] : STATUS_ACTIVE, + 'RunInterval' => $scheduled_task_params['RunInterval'], + ); - foreach ($events as $scheduled_task_name => $scheduled_task_params) { - if ( !isset($scheduled_tasks_from_db[$scheduled_task_name]) ) { - $fields_hash = Array ( - 'Event' => $scheduled_task_params['EventName'], - 'Name' => $scheduled_task_name, - 'Type' => ScheduledTask::TYPE_SYSTEM, - 'Status' => array_key_exists('Status', $scheduled_task_params) ? $scheduled_task_params['Status'] : STATUS_ACTIVE, - 'RunInterval' => $scheduled_task_params['RunInterval'], - 'RunMode' => $run_mode, - ); - - $object->Clear(); - $object->SetDBFieldsFromHash($fields_hash); - $object->Create(); - } - else { - $object->LoadFromHash( $scheduled_tasks_from_db[$scheduled_task_name] ); - } - - $processed_ids[] = $object->GetID(); + $object->Clear(); + $object->SetDBFieldsFromHash($fields_hash); + $object->Create(); } + else { + $object->LoadFromHash( $scheduled_tasks_from_db[$scheduled_task_name] ); + } + $processed_ids[] = $object->GetID(); } // delete all non-processed scheduled tasks (ones, that were deleted from unit configs)