void JobAf::v_updateTaskState( const af::MCTaskUp& taskup, RenderContainer * renders, MonitorContainer * monitoring) { if( false == checkBlockTaskNumbers( taskup.getNumBlock(), taskup.getNumTask(), "updateTaskState")) return; bool errorHost = false; m_blocks[taskup.getNumBlock()]->m_tasks[taskup.getNumTask()]->v_updateState( taskup, renders, monitoring, errorHost); if( errorHost) m_blocks[taskup.getNumBlock()]->v_errorHostsAppend( taskup.getNumTask(), taskup.getClientId(), renders); std::string new_report = taskup.getReport(); if( new_report.size() && ( new_report != m_report )) { m_report = new_report; m_report_changed = true; } }
void Task::v_updateState( const af::MCTaskUp & taskup, RenderContainer * renders, MonitorContainer * monitoring, bool & errorHost) { if( m_run == NULL) { std::ostringstream stream; stream << "Task::updatestate: Task is not running: " << m_block->m_job->getName(); stream << "[" << taskup.getNumBlock() << "][" << taskup.getNumTask() << "]"; AFCommon::QueueLogError( stream.str()); if(( taskup.getStatus() == af::TaskExec::UPPercent ) || ( taskup.getStatus() == af::TaskExec::UPWarning )) RenderAf::closeLostTask( taskup); return; } //printf("Task::updateState:\n"); m_run->update( taskup, renders, monitoring, errorHost); if( taskup.getDataLen() != 0 ) v_writeTaskOutput( taskup); deleteRunningZombie(); }
bool ListJobs::v_filesReceived( const af::MCTaskUp & i_taskup ) { if(( i_taskup.getNumBlock() != -1 ) || ( i_taskup.getNumTask() != -1 )) return false; // This is for a task (not for an entire job) for( int i = 0; i < count(); i++) { ItemJob * itemjob = (ItemJob*)(m_model->item(i)); if( itemjob->getId() == i_taskup.getNumJob() ) { itemjob->v_filesReceived( i_taskup); return true; } } return false; }