Remote API: monitor_jobqueue_count returning wrong count in multiserver setup
short description
I have two servers: S1 (master) and S2 (slave). When I make a change on S2, the number of pending tasks increases on S1 too. When the task is completed on S2, it still remains counted as incompleted on S1.
correct behaviour
The function monitor_jobqueue_count() in /interface/lib/classes/remote.d/monitor.inc.php should use the "server_id" parameter in SQL query, so it counts tasks for selected server only.
environment
Server OS: Debian
Server OS version: Buster (10)
ISPConfig version: 3.1dev
proposed fix
Replace
$tmp = $app->db->queryOneRecord('SELECT count(datalog_id) as jobqueue_count FROM sys_datalog WHERE datalog_id > ?',$server['updated']);
with
$tmp = $app->db->queryOneRecord('SELECT count(datalog_id) as jobqueue_count FROM sys_datalog WHERE datalog_id > ? AND server_id = ?',$server['updated'],$server_id);