--- a/engine.sql +++ b/engine.sql @@ -165,6 +165,11 @@ -- disconnect all previously opened connections PERFORM dblink_disconnect(unnest(dblink_get_connections())); + IF jobs = 1 THEN + CALL process_queue(end_date); + RETURN; + END IF; + -- start parallel jobs FOR i IN 1 .. jobs LOOP connname := 'job' || i; @@ -230,7 +235,8 @@ SELECT count(*) > 0 FROM pg_stat_activity WHERE application_name = 'Airlines processor' - AND state != 'idle'; + AND state != 'idle' + AND pid <> pg_backend_pid(); END; /*