pct icon indicating copy to clipboard operation
pct copied to clipboard

progPerc doesn't work multiple threads

Open lievencardoen opened this issue 2 years ago • 8 comments

Hi,

When compiling classes with 1 thread, progPerc seems to be working.

However, when compiling procedures with 4 threads, I'm not seeing progress percentages... Is that expected behavior?

Thx, Lieven

lievencardoen avatar Jul 08 '21 18:07 lievencardoen

Yes, progPerc attribute is not implemented in multi-thread PCTCompile. I'll leave the issue open in case anybody would like to work on the implementation. I'd say it's quite easy to do that at the Java level when assigning files to each thread.

gquerret avatar Jul 09 '21 07:07 gquerret

Hi,

the same issue is with attribute outputType=json. Is there any other way to get list of errors in file when multi-thread compile is used?

Thank You in advance,

Tom

tom9k avatar Aug 06 '21 08:08 tom9k

@tom9k Yes, JSON outputType attribute is not supported in multi-thread compilation. The only way is to parse the stdout channel. Is that for a background process ?

gquerret avatar Aug 06 '21 09:08 gquerret

@tom9k Yes, JSON outputType attribute is not supported in multi-thread compilation. The only way is to parse the stdout channel. Is that for a background process ?

I'm using Azure DevOps Pipelines to orchestrate Ant/PCTCompile tasks running locally on our on-premise server (using Microsoft Azure self-hosted agent). I would like to store list of errors locally (e.g. on a shared drive) to be available to developers even apart from Azure DevOps website.

PCTCompile outputs errors to standard err (as [PCTCompile] Error compiling file {1} ) and it's "consumed" by Azure pipeline. I unfortunately don't know any way to "shadow" this output to a local file.

Parallel output to JSON (or any other local file) would be perfect solution, but it is not supported when using multi-thread compiling.

Any advice would be appreciated.

Tom

tom9k avatar Aug 06 '21 12:08 tom9k

I don't work with Azure DevOps so I can't give detailed instructions, but the idea is to notify the developers in case of build failure. All CI servers can be plugged to various systems, so just choose the right one (email, Slack, Webex, ...) and let the developers get the info from the alert (which usually contains the URL to the build log). You won't have direct access to the file name and line number where the error occured, but the developers should be able to read the log ;-)

gquerret avatar Aug 07 '21 08:08 gquerret

Hi, Gilles,

Azure DevOps is very similar to Jenkins and is customizable in many ways. It can send an e-mail after every failed job with links to captured Ant log and even let drill down to a git commit, which triggered failed build. But I've been asked to offer to our developers something like compile.log - a list of errors from PCTCompile - something they are used to...

Finally I've found the way by using Ant Recorder task

But to add JSON feature to PCTCompile even in multi-thread would be nice. ;-)

tom9k avatar Aug 10 '21 15:08 tom9k

Nobody feels the mission to program this... ;-)

I'll try to find some time in the coming months to do this.

lievencardoen avatar Nov 30 '21 12:11 lievencardoen

Excellent idea :-)

gquerret avatar Nov 30 '21 13:11 gquerret

Looks like it won't be fixed !

gquerret avatar Dec 11 '22 20:12 gquerret