Non ho ben capito le condizioni. E` un CGI che deve lavorare sia da solo che su chiamata del client?
E non hai specificato il linguaggio usato nel CGI.
Comunque la tecnologia push non e` utilizzabile (ha avuto vita molto breve - non e` mai stata implementata realmente).

Ma hai pensato di passare dei parametri al programma?
nel senso che: se c'e` il tal parametro, fa una cosa; altrimenti prosegue in un ramo diverso.