예제 #1
0
     is_array($itemid) or msg('请选择' . $MOD['name']);
     foreach ($itemid as $v) {
         $do->update($v);
     }
     dmsg('更新成功', $forward);
     break;
 case 'tohtml':
     is_array($itemid) or msg('请选择' . $MOD['name']);
     foreach ($itemid as $itemid) {
         tohtml('show', $module);
     }
     dmsg('生成成功', $forward);
     break;
 case 'delete':
     $itemid or msg('请选择' . $MOD['name']);
     isset($recycle) ? $do->recycle($itemid) : $do->delete($itemid);
     dmsg('删除成功', $forward);
     break;
 case 'restore':
     $itemid or msg('请选择' . $MOD['name']);
     $do->restore($itemid);
     dmsg('还原成功', $forward);
     break;
 case 'refresh':
     $itemid or msg('请选择' . $MOD['name']);
     $do->refresh($itemid);
     dmsg('刷新成功', $forward);
     break;
 case 'clear':
     $do->clear();
     dmsg('清空成功', $forward);
예제 #2
0
    // handle job flags
    if (tool::securePost('privatejob') == "1") {
        $saveflags += JOB_FLAG_PRIVATE;
    }
    $jobInst->flags = $saveflags;
    $jobId = $jobInst->start();
    $jobInst->activate($jobId);
} elseif (tool::securePost('action') == "deleteattach") {
    $attachment = new attachment(tool::securePost('id'));
    $attachment->delete();
    // we need to reload the task to clear the attachment member in this object
    $taskInst->activate($taskInst->id);
}
if (tool::securePost('action') == "delete") {
    $jobInst->activate(tool::securePost('id'));
    $jobInst->delete();
}
if (tool::securePost('action') == "edit") {
    $status = 1;
    $jobInst->activate(tool::securePost('id'));
}
#######################################################################
## show task details
?>

<h1><?php 
echo $lang['tasks_taskdetails'];
?>
</h1>
<div align="center">
<table border="0" cellpadding="2" cellspacing="1" width="96%">
예제 #3
0
 /**
  * Message Queue Listener + Process task
  * @param job   $job            Laravel job object
  * @param object    $message    message detail (contains task id)
  */
 public function fire($job, $message)
 {
     $id = intval($message['id']);
     $batch = Batch::find($id);
     if ($batch->cancel) {
         $job->delete();
         $batch->setStatus('canceled');
         return;
     }
     $batch->setStatus('running');
     $batch->stampBeginExecDatetime();
     $rscriptCommand = Config::get('r.rscript');
     $rAppPath = base_path() . "/rscripts/app.R batch_controller.R";
     $execCommand = $rscriptCommand . " " . $rAppPath . " " . $id;
     $process = new Process($execCommand);
     $process->start();
     while ($process->isRunning()) {
         usleep(200000);
         if (Batch::isCanceled($id)) {
             // Kill Process
             $process->stop(3, SIGINT);
             $batch->setStatus('canceled');
             $batch->stampFinishDatetime();
             $job->delete();
             return;
         }
     }
     $output = $process->getOutput();
     # get new status after exec R file
     $batch = Batch::find($id);
     $batch->stampFinishDatetime();
     # write to logfile
     $logfile = fopen(base_path() . '/public/batchreport/' . $batch->id . ".log", "w+");
     fwrite($logfile, $output);
     fclose($logfile);
     # Check if task if finish running
     if ($batch->status != "success") {
         $batch->setStatus('fail');
     }
     try {
         $job->delete();
     } catch (\Exception $e) {
     }
 }