private function processReceiverGroup(ReceiverGroup $receiverGroup, $language = NULL) { $cacheFileName = $receiverGroup->getCacheFileName($language); $jqProcess = escapeshellarg('cat ' . escapeshellcmd($receiverGroup->getReceiverSource()->getSourceFileName()) . ' | jq -c ' . escapeshellarg($this->convertFilterIntoJqExpression($receiverGroup->getFilter($language))) . ' > ' . escapeshellcmd($cacheFileName) . ' ; wc -l < ' . escapeshellcmd($cacheFileName) . ' > ' . escapeshellcmd($cacheFileName . '.lines')); $finalProcess = 'nohup /bin/bash -c ' . $jqProcess . ' &'; $this->systemLogger->log('Starting process: ' . $finalProcess); $proc = new Process($finalProcess); $proc->start(); }
/** * @param ReceiverGroup $receiverGroup */ public function previewReceiverGroupAction(ReceiverGroup $receiverGroup) { $presets = $this->contentDimensionPresetSource->getAllPresets(); $languages = array_keys($presets['language']['presets']); $exampleDataPerLanguage = array(); foreach ($languages as $language) { $file = fopen($receiverGroup->getCacheFileName($language), 'r'); $contents = fgets($file); fclose($file); $exampleDataPerLanguage[$language] = array('numberOfReceivers' => $receiverGroup->getNumberOfReceivers($language), 'singleLine' => json_decode($contents, TRUE)); } $this->view->assign('exampleDataPerLanguage', $exampleDataPerLanguage); $this->view->assign('receiverGroup', $receiverGroup); }
public function getFullLabel() { return $this->parentReceiverGroup->getFullLabel(); }
public function addReceiverGroup(ReceiverGroup $receiverGroup) { $receiverGroup->setReceiverSource($this); $this->receiverGroups->add($receiverGroup); }