So I'll look for another python server than uwsgi to run my app.

Thank you Michael.


Em terça-feira, 3 de março de 2020 15:40:42 UTC-3, Michael Merickel 
escreveu:
>
> I suspect it's something to do with UWsgi doing funky things with fork and 
> subprocesses. For example 
> https://stackoverflow.com/questions/17592692/running-a-subprocess-in-uwsgi-application
> .
>
> On Tue, Mar 3, 2020 at 12:37 PM Emerson Barea <[email protected] 
> <javascript:>> wrote:
>
>> Hi Michael, thanks for your reply. I'm sorry I didn't confirm it earlier, 
>> but I've been quite sick this past week.
>>
>> Well, I tried to follow the suggestion you made, making the following 
>> changes:
>>
>> scripts/tests.py
>>
>> def main(argv):
>>     <my code here>
>>
>>
>> if __name__ == '__main__':
>>     main(argv=sys.argv[1:])
>>
>>
>>
>> my view code:
>>
>> arguments = ['--config_file=minisecbgp.ini',
>>              '--execution_type=create_node',
>>              '--hostname=%s' % form.node.data,
>>              '--username=%s' % form.username.data,
>>              '--password=%s' % form.password.data]
>> #subprocess.Popen(['tests'] + arguments)
>> subprocess.Popen([sys.executable, '-m', 'minisecbgp.scripts.tests'] + 
>> arguments)
>>
>>
>> and now I receive this erro when I try to execute the view in browser:
>>
>> Mar  3 15:24:57 lpttch uwsgi[7284]: /home/tocha/Documentos/projetos/
>> MiniSecBGP/venv/bin/uwsgi: unrecognized option 
>> '--config_file=minisecbgp.ini'
>> Mar  3 15:24:57 lpttch uwsgi[7284]: getopt_long() error
>>
>> I tried to modify the setyp.py console_scripts to 
>>
>> 'tests = minisecbgp.scripts.tests'
>>
>> or removing this entry_point, since the call to the script is being made 
>> directly now, but I always got the same error.
>>
>> Please, do you known what I'm doing wrong?
>>
>> Thank you.
>>
>> Emerson
>>
>>
>> Em quinta-feira, 27 de fevereiro de 2020 21:28:04 UTC-3, Michael Merickel 
>> escreveu:
>>
>>> Your environment isn't modifying the env PATH, which is what Popen is 
>>> relying on to find the script.
>>>
>>> It'd be better not rely on the PATH and instead just run the code using 
>>> `python -m foo`, but that doesn't actually work with console scripts. You 
>>> would instead do `subprocess.Popen([sys.executable, '-m', 
>>> 'minisecbgp.scripts.config'] + arguments)`. You'd then need to define an 
>>> `if __name__ == '__main__': main()` in your script instead of relying on 
>>> the console script to invoke your main function.
>>>
>>> Alternatively fix your PATH, but I find that less ideal because it can 
>>> change per-environment where the console scripts are actually installed.
>>>
>>> - Michael
>>>
>>> On Thu, Feb 27, 2020 at 5:41 PM Emerson Barea <[email protected]> 
>>> wrote:
>>>
>>>> Hi there.
>>>>
>>>> My application has some scripts on .app.scripts (.app.scripts.tests and 
>>>> .app.scripts.config).
>>>>
>>>> I configured this scripts in setup.py file like this:
>>>>
>>>> entry_points={
>>>>     'paste.app_factory': [
>>>>         'main = minisecbgp:main'
>>>>     ],
>>>>     'console_scripts': [
>>>>         'initialize_minisecbgp_db = minisecbgp.scripts.initialize_db:main',
>>>>         'tests = minisecbgp.scripts.tests:main',
>>>>         'validate_hostname = minisecbgp.scripts.validate_hostname:main',
>>>>         'config = minisecbgp.scripts.config:main',
>>>>     ],
>>>>
>>>>
>>>> I call these two scripts in my view with the code below:
>>>>
>>>> arguments = ['--config_file=minisecbgp.ini',
>>>>              '--hostname=%s' % form.node.data,
>>>>              '--username=%s' % form.username.data,
>>>>              '--password=%s' % form.password.data]
>>>> subprocess.Popen(['config'] + arguments)
>>>>
>>>>
>>>> and, when I run my application with the commands  below, everything 
>>>> works well. The page works fine and the scripts tests and config works 
>>>> well.
>>>>
>>>> pip install -e ".[testing]"
>>>> pserve minisecbgp.ini --reload
>>>>
>>>>
>>>> So, I want to put my app in production, and I'm trying to use uwsgi and 
>>>> nginx to do it. When I configured uwsgi and nginx and open the app in 
>>>> browser, the app works well, but when I call the view that executes the 
>>>> scripts tests and config, I receave a 502 bad gateway error. Looking at 
>>>> syslog file, I receaved this error:
>>>>
>>>> Feb 27 20:12:56 lpttch uwsgi[14110]:     subprocess.Popen(['tests'] + 
>>>> arguments)
>>>> Feb 27 20:12:56 lpttch uwsgi[14110]:   File 
>>>> "/usr/lib/python3.6/subprocess.py", line 729, in __init__
>>>> Feb 27 20:12:56 lpttch uwsgi[14110]:     restore_signals, 
>>>> start_new_session)
>>>> Feb 27 20:12:56 lpttch uwsgi[14110]:   File 
>>>> "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
>>>> Feb 27 20:12:56 lpttch uwsgi[14110]:     raise child_exception_type(
>>>> errno_num, err_msg, err_filename)
>>>> Feb 27 20:12:56 lpttch uwsgi[14110]: FileNotFoundError: [Errno 2] No 
>>>> such file or directory: 'tests': 'tests'
>>>>
>>>> Please, can somebody help me?
>>>>
>>>> Emerson
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "pylons-discuss" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/pylons-discuss/9a78ebba-f50d-4143-9fea-550d3bce9e1e%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/pylons-discuss/9a78ebba-f50d-4143-9fea-550d3bce9e1e%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>>
>>> -- 
>>>
>>> Michael
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "pylons-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/pylons-discuss/5cc6641f-ffe2-4b16-b26f-99edf01865f8%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/pylons-discuss/5cc6641f-ffe2-4b16-b26f-99edf01865f8%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
>
> Michael
>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/5a08d16d-22a2-4ed8-9438-6bb16230509a%40googlegroups.com.

Reply via email to