You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Mathieu Lirzin <ma...@nereide.fr> on 2019/03/17 20:56:38 UTC
Removing the ‘:terminateOfbiz’ Gradle task
Hello,
The ‘:terminateOfbiz’ Gradle task is meant to be run when ‘./gradlew
ofbiz --shutdown’ doesn't work. Unfortunately this task is not working
on my GNU/linux system because the output of ‘ps ax’ cuts long lines.
As a consequence Gradle is not able to grep
"org.apache.ofbiz.base.start.Start" even if it is actually part of the
process command line as seen by the operating system. As a reminder,
here is the implementation of that task:
task terminateOfbiz(group: ofbizServer,
description: 'Force termination of any running OFBiz servers, only use if \"--shutdown\" command fails') {
doLast {
if (os.contains('windows')) {
Runtime.getRuntime().exec("wmic process where \"CommandLine Like \'%org.apache.ofbiz.base.start.Start%\'\" Call Terminate")
} else {
def processOutput = new ByteArrayOutputStream()
exec {
commandLine 'ps', 'ax'
standardOutput = processOutput
}
processOutput.toString().split(System.lineSeparator()).each { line ->
if (line ==~ /.*org\.apache\.ofbiz\.base\.start\.Start.*/) {
exec { commandLine 'kill', '-9', line.tokenize().first() }
}
}
}
}
}
While it might be considered a bug at first hand, I personnally think
this failure is more a symptom of a desperate endeavour which is to
guess how the system of a user is managing its processes. As a
consequence I will suggest to simply remove this task to not make false
promises to users and let them manage the processes on their system by
themselves. :-)
What do people think?
--
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
Re: Removing the ‘:terminateOfbiz’ Gradle task
Posted by "jleroux@apache.org" <jl...@apache.org>.
+1
This is currently also used by the demos because "ofbiz --shutdown" does not work with multiple instances
https://svn.apache.org/repos/asf/ofbiz/tools/demo-backup/trunk.sh
Of course resolving "ofbiz --shutdown" issue would be better. But I guess few people use multiple instances in production on the same server.
Jacques
Le 17/03/2019 à 22:39, Taher Alkhateeb a écrit :
> I think I might prefer to keep it. Perhaps adjusting the ps command might
> better solve the issue. I use this feature regularly myself.
>
> On Sun, Mar 17, 2019, 11:59 PM Mathieu Lirzin <ma...@nereide.fr>
> wrote:
>
>> Hello,
>>
>> The ‘:terminateOfbiz’ Gradle task is meant to be run when ‘./gradlew
>> ofbiz --shutdown’ doesn't work. Unfortunately this task is not working
>> on my GNU/linux system because the output of ‘ps ax’ cuts long lines.
>> As a consequence Gradle is not able to grep
>> "org.apache.ofbiz.base.start.Start" even if it is actually part of the
>> process command line as seen by the operating system. As a reminder,
>> here is the implementation of that task:
>>
>> task terminateOfbiz(group: ofbizServer,
>> description: 'Force termination of any running OFBiz servers, only
>> use if \"--shutdown\" command fails') {
>> doLast {
>> if (os.contains('windows')) {
>> Runtime.getRuntime().exec("wmic process where
>> \"CommandLine Like \'%org.apache.ofbiz.base.start.Start%\'\" Call
>> Terminate")
>> } else {
>> def processOutput = new ByteArrayOutputStream()
>> exec {
>> commandLine 'ps', 'ax'
>> standardOutput = processOutput
>> }
>>
>> processOutput.toString().split(System.lineSeparator()).each { line ->
>> if (line ==~
>> /.*org\.apache\.ofbiz\.base\.start\.Start.*/) {
>> exec { commandLine 'kill', '-9',
>> line.tokenize().first() }
>> }
>> }
>> }
>> }
>> }
>>
>> While it might be considered a bug at first hand, I personnally think
>> this failure is more a symptom of a desperate endeavour which is to
>> guess how the system of a user is managing its processes. As a
>> consequence I will suggest to simply remove this task to not make false
>> promises to users and let them manage the processes on their system by
>> themselves. :-)
>>
>> What do people think?
>>
>> --
>> Mathieu Lirzin
>> GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
>>
Re: Removing the ‘:terminateOfbiz’ Gradle task
Posted by Taher Alkhateeb <sl...@gmail.com>.
I think I might prefer to keep it. Perhaps adjusting the ps command might
better solve the issue. I use this feature regularly myself.
On Sun, Mar 17, 2019, 11:59 PM Mathieu Lirzin <ma...@nereide.fr>
wrote:
> Hello,
>
> The ‘:terminateOfbiz’ Gradle task is meant to be run when ‘./gradlew
> ofbiz --shutdown’ doesn't work. Unfortunately this task is not working
> on my GNU/linux system because the output of ‘ps ax’ cuts long lines.
> As a consequence Gradle is not able to grep
> "org.apache.ofbiz.base.start.Start" even if it is actually part of the
> process command line as seen by the operating system. As a reminder,
> here is the implementation of that task:
>
> task terminateOfbiz(group: ofbizServer,
> description: 'Force termination of any running OFBiz servers, only
> use if \"--shutdown\" command fails') {
> doLast {
> if (os.contains('windows')) {
> Runtime.getRuntime().exec("wmic process where
> \"CommandLine Like \'%org.apache.ofbiz.base.start.Start%\'\" Call
> Terminate")
> } else {
> def processOutput = new ByteArrayOutputStream()
> exec {
> commandLine 'ps', 'ax'
> standardOutput = processOutput
> }
>
> processOutput.toString().split(System.lineSeparator()).each { line ->
> if (line ==~
> /.*org\.apache\.ofbiz\.base\.start\.Start.*/) {
> exec { commandLine 'kill', '-9',
> line.tokenize().first() }
> }
> }
> }
> }
> }
>
> While it might be considered a bug at first hand, I personnally think
> this failure is more a symptom of a desperate endeavour which is to
> guess how the system of a user is managing its processes. As a
> consequence I will suggest to simply remove this task to not make false
> promises to users and let them manage the processes on their system by
> themselves. :-)
>
> What do people think?
>
> --
> Mathieu Lirzin
> GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
>