[pgadmin-hackers] Re: PATCH: RM# 1679 - Background process for "restore" not reportingstatus back to pgAdmin - Mailing list pgadmin-hackers

From Ashesh Vashi
Subject [pgadmin-hackers] Re: PATCH: RM# 1679 - Background process for "restore" not reportingstatus back to pgAdmin
Date
Msg-id CAG7mmoxpCJOQo=kYjtHAMO37LZELHEAA52X=dctMSTZYWtwjrQ@mail.gmail.com
Whole thread Raw
In response to [pgadmin-hackers] Re: PATCH: RM# 1679 - Background process for "restore" not reportingstatus back to pgAdmin  (Dave Page <dpage@pgadmin.org>)
Responses [pgadmin-hackers] Re: PATCH: RM# 1679 - Background process for "restore" not reportingstatus back to pgAdmin  (Dave Page <dpage@pgadmin.org>)
List pgadmin-hackers
Hi Team,

In new implementation - we are forking the process-executor on the POSIX system to run the process in true daemon mode.
And, we were updating the status in the configuration file (which is sqlite database), it was crashing while opening the configuration file, and couldn't update the status.

In order to resolve the issue, we're now creating a 'status' file for the process information.
And, it will be used to check the status information about the process.

Thanks Dave for helping find out the root cause of the issue, and point out the correct reference point.
Please find the updated patch with the latest changes.

I have also attached a patch to make the restore, and backup routes more REST API compatible.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company


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


On Mon, Dec 19, 2016 at 5:28 PM, Dave Page <dpage@pgadmin.org> wrote:
On Mon, Dec 19, 2016 at 11:52 AM, Dave Page <dpage@pgadmin.org> wrote:
>
>
> On Fri, Dec 16, 2016 at 10:16 AM, Ashesh Vashi
> <ashesh.vashi@enterprisedb.com> wrote:
>>
>> Hi Dave,
>>
>> On Mon, Dec 12, 2016 at 4:01 PM, Dave Page <dpage@pgadmin.org> wrote:
>>>
>>> Hi,
>>>
>>> On Fri, Dec 9, 2016 at 9:16 AM, Ashesh Vashi
>>> <ashesh.vashi@enterprisedb.com> wrote:
>>>>
>>>> Hi Dave,
>>>>
>>>> Please find the patch to resolve the issue reported in RM #1679
>>>>
>>>> This will take care of:
>>>> - Find the appropriate available Python interpreter to execute the
>>>> process_executor.py.
>>>>   In case of WSGI or Runtime, it was not properly find the interpreter
>>>> required to execute that script. Also, on windows - we should give priority
>>>> to the windowless python interpreter (if available).
>>>> - Execute the process_executor.py script with proper platform dependent
>>>> flags to run it as daemon.
>>>> - Run the process_executor.py in proper daemon mode. It helps to run the
>>>> long running processes like backup, restore, etc.
>>>>   On windows, run the process_executor.py from process_executor.py in
>>>> detached mode to allow the child process to run in detached mode.
>>>>   On POSIX, fork the process_executor.py to allow the child process to
>>>> run in daemon mode.
>>>>   Also - listen the signal like SIGINT, SIGTERM, so that - the child
>>>> does not kill, or hangup (It used to happen.
>>>>
>>>>
>>>> NOTE:
>>>> This patch does not take care of the unicode errors in the path. I will
>>>> send a separate patch for the same.
>>>
>>>
>>> Unfortunately my first test of this failed:
>>>
>>> SERVER_MODE = False
>>> Python 2.7.11 (Mac default)
>>> Running in Chrome
>>>
>>> I ran a backup of a database, and got the green backup initiated popup...
>>> then, nothing. Upon checking my config, I found I had the PostgreSQL Bin
>>> Path set to "$DIR/a/b/c", which clearly won't work. So, we're not yet
>>> detecting failure to start a process properly.
>>
>> During exception handling, the logger's encoding was not set properly
>> during initialisation,  that was resulting into an error.
>>
>> Also - sometime the process execution does not start quickly enough to
>> list down the process execution properly.
>> Hence - we should check the process list after some time.
>>
>> Please find the update patch with the above both problems resolved.
>
>
> Same results with the new patch - either with a correct bin path or an
> incorrect one, I see the green notification that the backup has started,
> then nothing.
>
> Sidenote: I don't even see anything at all in the console output. I think we
> should at least spit out a debug message showing the command line we're
> executing the launcher with, and ideally include any other details we can
> such as job IDs etc.

BTW; attached is my process table from the SQLite database.

I believe the last two rows are from my test today. The out and err
logs for both are empty files.

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

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

Attachment

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: [pgadmin-hackers] Content Security Policy
Next
From: Dave Page
Date:
Subject: [pgadmin-hackers] Re: PATCH: RM# 1679 - Background process for "restore" not reportingstatus back to pgAdmin