Thread: [pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only
[pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only
From
Surinder Kumar
Date:
Hi
While working on RM1391 I found another issue 'Backup is not working on windows".
The reason is that the process executor which uses subprocess Popen() to execute job fails when we pass close_fds=True and shell=False in windows.
Now we are settings close_fds=False and shell=True to fix it. These settings are specific to windows only.
Please review the attached patch.
Thanks,
Surinder Kumar
Attachment
Re: [pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only
From
Dave Page
Date:
Can you explain what was broken exactly please? Backups work fine for me without the patch - and whilst they also work with it, I now get an ugly command shell window flash up which I didn't before. On Wed, Sep 21, 2016 at 11:48 AM, Surinder Kumar <surinder.kumar@enterprisedb.com> wrote: > Hi > > While working on RM1391 I found another issue 'Backup is not working on > windows". > > The reason is that the process executor which uses subprocess Popen() to > execute job fails when we pass close_fds=True and shell=False in windows. > > Now we are settings close_fds=False and shell=True to fix it. These settings > are specific to windows only. > > Please review the attached patch. > > > Thanks, > Surinder Kumar > > > -- > Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgadmin-hackers > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Re: [pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only
From
Surinder Kumar
Date:
Actually It doesn't broke anywhere, instead It runs successfully. On debugging I found that it runs the subprocess.Popen() utility but it doesn't run internally the pg_dump utitliy. On running the same command on windows cmd prompt it works.
Then on setting parameters close_fds=False and cmd_shell=True, It works.
I ran backup in Google Chrome.
On Thu, Sep 22, 2016 at 6:35 PM, Dave Page <dpage@pgadmin.org> wrote:
Can you explain what was broken exactly please? Backups work fine for
me without the patch - and whilst they also work with it, I now get an
ugly command shell window flash up which I didn't before.> --
On Wed, Sep 21, 2016 at 11:48 AM, Surinder Kumar
<surinder.kumar@enterprisedb.com> wrote:
> Hi
>
> While working on RM1391 I found another issue 'Backup is not working on
> windows".
>
> The reason is that the process executor which uses subprocess Popen() to
> execute job fails when we pass close_fds=True and shell=False in windows.
>
> Now we are settings close_fds=False and shell=True to fix it. These settings
> are specific to windows only.
>
> Please review the attached patch.
>
>
> Thanks,
> Surinder Kumar
>
>
> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Re: [pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only
From
Dave Page
Date:
On Fri, Sep 23, 2016 at 5:59 AM, Surinder Kumar <surinder.kumar@enterprisedb.com> wrote: > Actually It doesn't broke anywhere, instead It runs successfully. On > debugging I found that it runs the subprocess.Popen() utility but it doesn't > run internally the pg_dump utitliy. On running the same command on windows > cmd prompt it works. > Then on setting parameters close_fds=False and cmd_shell=True, It works. > I ran backup in Google Chrome. It certainly runs pg_dump for me - I see the output in the monitoring dialogue, and I get a dump file at the end. I also use Chrome. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Re: [pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only
From
Ashesh Vashi
Date:
On Fri, Sep 23, 2016 at 1:47 PM, Dave Page <dpage@pgadmin.org> wrote:
On Fri, Sep 23, 2016 at 5:59 AM, Surinder Kumar
<surinder.kumar@enterprisedb.com> wrote:
> Actually It doesn't broke anywhere, instead It runs successfully. On
> debugging I found that it runs the subprocess.Popen() utility but it doesn't
> run internally the pg_dump utitliy. On running the same command on windows
> cmd prompt it works.
> Then on setting parameters close_fds=False and cmd_shell=True, It works.
> I ran backup in Google Chrome.
It certainly runs pg_dump for me - I see the output in the monitoring
dialogue, and I get a dump file at the end.
I also use Chrome.
It may differ for different version of python.
--
Thanks & Regards,
Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers
Re: [pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only
From
Dave Page
Date:
On Fri, Sep 23, 2016 at 9:18 AM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
On Fri, Sep 23, 2016 at 1:47 PM, Dave Page <dpage@pgadmin.org> wrote:On Fri, Sep 23, 2016 at 5:59 AM, Surinder Kumar
<surinder.kumar@enterprisedb.com> wrote:
> Actually It doesn't broke anywhere, instead It runs successfully. On
> debugging I found that it runs the subprocess.Popen() utility but it doesn't
> run internally the pg_dump utitliy. On running the same command on windows
> cmd prompt it works.
> Then on setting parameters close_fds=False and cmd_shell=True, It works.
> I ran backup in Google Chrome.
It certainly runs pg_dump for me - I see the output in the monitoring
dialogue, and I get a dump file at the end.
I also use Chrome.It may differ for different version of python.
Maybe. I'm using 2.7.
Either way, I don't want a command window flashing up unnecessarily.
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Re: [pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only
From
Ashesh Vashi
Date:
On Fri, Sep 23, 2016 at 1:54 PM, Dave Page <dpage@pgadmin.org> wrote:
On Fri, Sep 23, 2016 at 9:18 AM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote: On Fri, Sep 23, 2016 at 1:47 PM, Dave Page <dpage@pgadmin.org> wrote:On Fri, Sep 23, 2016 at 5:59 AM, Surinder Kumar
<surinder.kumar@enterprisedb.com> wrote:
> Actually It doesn't broke anywhere, instead It runs successfully. On
> debugging I found that it runs the subprocess.Popen() utility but it doesn't
> run internally the pg_dump utitliy. On running the same command on windows
> cmd prompt it works.
> Then on setting parameters close_fds=False and cmd_shell=True, It works.
> I ran backup in Google Chrome.
It certainly runs pg_dump for me - I see the output in the monitoring
dialogue, and I get a dump file at the end.
I also use Chrome.It may differ for different version of python.Maybe. I'm using 2.7.Either way, I don't want a command window flashing up unnecessarily.
If we set the PYTHON INTERPRETER to run the background process.
i.e. BG_PYTHON_INTERPRETER=c:\Python27\pythonw.exe
We can avoid showing the flashing command window.
I came to this conclusion, because - I tried to hide them using certain flags, but - it wasn't working well.
--Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company