Files
thetool/scripts/invoice/job-runners/make-invoice-pdf.php
Frank Schubert 1ed2dddb97 Added InvoiceJob
2024-08-29 14:51:37 +02:00

69 lines
1.4 KiB
PHP

<?php
/**
* @var $job InvoiceJob
* @var $proc Array
*/
/*
echo "==========================\n";
echo "in make-invoice-pdf-runner\n";
echo "==========================\n";
*/
/*
* make-invoice-pdf-runner.php
* File is included in Invoice Job Broker
*/
$started = new DateTime("now");
$job->started = $started->format("Y-m-d H:i:s");
$job->reconnectDB();
$job->save();
$job_return = new stdClass();
$job_return->created = 0;
$pdfs_created = 0;
$timeout = false;
if($job->result) {
$job_return = json_decode($job->result);
if(json_last_error() === JSON_ERROR_NONE) {
$pdfs_created = $job_return->created;
} else {
$job_return = new stdClass();
$job_return->created = 0;
}
}
$ic = new InvoiceController(false);
$ic->reconnectDB();
do {
$now = new DateTime("now");
if($now->format("Y-m-d H:i:s") > $job->to_date." 23:59:59") {
$timeout = true;
break;
}
$created = $ic->createPDFs(10);
$pdfs_created += $created;
$job_return->created = $pdfs_created;
$job->result = json_encode($job_return);
//$job->return = json_encode(["created" => $created]);
$job->reconnectDB();
$job->save();
} while($created);
if($timeout) {
$job->status = "timeout";
} else {
$job->status = "finished";
}
$finished = new DateTime("now");
$job->finished = $finished->format("Y-m-d H:i:s");
$job->reconnectDB();
$job->save();