initial commit

This commit is contained in:
2021-07-10 16:25:16 +02:00
parent bff57cbf45
commit 20fb7267a8
2426 changed files with 792090 additions and 0 deletions
@@ -0,0 +1,114 @@
<?php
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 09/09/2017
* Time: 10:18
*/
use Pheanstalk\Pheanstalk;
class documentconversion extends MY_Controller {
public function __construct()
{
parent::__construct();
$this->load->library( 'services/ConvertToPdf' );
}
public function testConversion()
{
$dossierID = $this->uri->segment( 4 );
$this->convertDocument( $dossierID );
}
public function queueConversion()
{
$dossierID = $this->uri->segment(4);
$pheanstalk = new Pheanstalk( '127.0.0.1' );
$job = new stdClass();
$this->db->limit(1000);
$this->files = $this->Files_model->get(['conversion_status'=> 'TRY-CONVERSION']);
foreach($this->files ? $this->files : [] as $file)
{
$job->function = 'convertDocument';
$job->user_data = $file->id;
$job_data = json_encode( $job );
$pheanstalk
->useTube( $this->beanstalkPipe )
->put( $job_data );
}
}
public function queueListen()
{
while ( TRUE )
{
$pheanstalk = new Pheanstalk( '127.0.0.1' );
$job = $pheanstalk
->watch( $this->beanstalkPipe )
->ignore( 'default' )
->reserve();
$job_data = json_decode( $job->getData() );
$function = $job_data->function;
$user_data = $job_data->user_data;
$conversionstatus = $this->$function( $user_data );
$message = '';
$pheanstalk->delete( $job );
$message = 'JOB : ' . $function . ' COMPLETED WITH DATA : ' . $user_data . ' -RESULT :' . $conversionstatus . "\n";
$message .="--------------------------------------------------------------------------------------------------\n\n";
$this->writeToQueueLog( $message);
}
}
public function convertDocument( $fileID )
{
$message = 'CONVERSION STARTED @:' . date( 'd-m-Y | H:i:s' );
$file= $this->Files_model->get( $fileID );
$this->converttopdf->handle( $file );
$conversionstatus = $this->converttopdf->getConversionStatus();
$this->Files_model->update_record( [
'conversion_status' => $conversionstatus], $fileID );
$message .= '| - | CONVERSION ENDED @:' . date( 'd-m-Y | H:i:s' ) . "\n";
$message .= 'CONVERSIONSTATUS: '.$conversionstatus.' FOR DOSSIER ID :'.$fileID . "\n" ;
$this->writeToQueueLog( $message);
return $conversionstatus;
}
private function writeToQueueLog($message)
{
$this->load->helper( 'file' );
$logFile = APPPATH.'logs/queue.log';
if( ! write_file($logFile, $message, 'a+'))
{
log_message('debug', 'Unable to write message to queue log file');
}
}
}