Обсуждение: [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

От
Surinder Kumar
Дата:
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
Вложения
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

От
Surinder Kumar
Дата:
​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

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

От
Ashesh Vashi
Дата:
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



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

Re: [pgAdmin4][Patch]: Background process executor won't run(in case of Backup, restore) in Windows only

От
Ashesh Vashi
Дата:

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.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company


http://www.linkedin.com/in/asheshvashi


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company