Files
FloatBackOfffice/CRONS/parsedemail_item_update_base_cost.php
T
dev-chiefworks f76abffdcd first commit
2022-05-31 16:21:53 -04:00

60 lines
2.0 KiB
PHP

<?php
echo "[" . date("Y-m-d H:i:s") . "] parsedemail_item_update_base_cost job is starting.\n";
require '../backend.php';
global $pgconn, $readOnlyReplicaConn;
$db_host = $savvyext->cfgReadChar('database.host');
$db_port = $savvyext->cfgReadLong('database.port');
$db_name = $savvyext->cfgReadChar('database.name');
$db_user = $savvyext->cfgReadChar('database.user');
$db_pass = $savvyext->cfgReadChar('database.pass');
$conn_string = "host=${db_host} port=${db_port} dbname=${db_name} user=${db_user} password=${db_pass}";
$pgconn = pg_connect($conn_string);
$db_host = $savvyext->cfgReadChar('database_replica.host');
$db_name = $savvyext->cfgReadChar('database_replica.name');
$db_user = $savvyext->cfgReadChar('database_replica.user');
$db_pass = $savvyext->cfgReadChar('database_replica.pass');
$db_port = $savvyext->cfgReadLong('database_replica.port');
$readOnlyReplicaConnstr = "host=${db_host} port=${db_port} dbname=${db_name} user=${db_user} password=${db_pass}";
$readOnlyReplicaConn = pg_connect($readOnlyReplicaConnstr);
/*get travel_time is measured with seconds*/
$q = "SELECT p.id, cost, promotions_credits
FROM parsedemail_item p LEFT JOIN parsedemail_item_extra pa ON p.id=pa.parsedemail_item_id";
$r = pg_query($readOnlyReplicaConn, $q);
$total = $success = $failed = 0;
while ($f = pg_fetch_row($r)) {
$total ++;
$id = $f[0];
$cost = $f[1];
$promotions_credits = $f[2];
//echo $cost,$promotions_credits;
$base_cost = $cost+abs($promotions_credits);
$updated = update_base_cost($id,$base_cost);
if($updated>0){
$success++;
}else{
$failed++;
}
}
echo "Total: ".$total.".\n";
echo "Success: : ".$success.".\n";
echo "Failed: : ".$failed.".\n";
pg_close($readOnlyReplicaConn);
echo "[" . date("Y-m-d H:i:s") . "] parsedemail_item_update_base_cost job complete.\n";
function update_base_cost($id, $base_cost) {
global $pgconn;
$q = "UPDATE parsedemail_item SET base_cost=" . $base_cost . " WHERE id=" . $id . "";
$r = pg_query($pgconn, $q);
if ($r) {
return pg_affected_rows($r);
}
return 0;
}