Как выйти из скрипта Python, вызываемого в приложении Flask? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть приложение фляги, где я повторно использую функцию в скрипте Python (poll_servers.py).Я могу импортировать функцию и запустить ее, но я хочу поставить на место проверку, которая выходит из функции, если она запущена.

Вот мой код в скрипте python:

import os
import sys

# check if lock file exists, exit
if os.path.exists('static/poll.lock'):
    sys.exit(1)

if not os.path.exists('static/poll.lock'):
    with open('static/poll.lock', 'w'): pass

Inмой app.py у меня есть:

from poll_servers import poll

@app.route('/poll_servers', methods=['GET'])
def poll_servers():

    response = json.dumps({'status':'OK'})

    poll()

    return response

Я получаю сообщение об ошибке sys.exit(1) в poll_servers.py:

File "app.py", line 109, in poll_servers
  poll()
File ".../poll_servers.py", line 262, in poll
  sys.exit(1)
File ".../venv/lib/python2.7/site.py", line 403, in __call__
  raise SystemExit(code)
SystemExit: None

Есть идеи?Если я запускаю poll_servers.py сам по себе, sys.exit(1) работает нормально.

1 Ответ

0 голосов
/ 30 мая 2019

Тогда просто ничего не делайте или не измените порядок вашего if заявления:

import os
import sys

if not os.path.exists('static/poll.lock'):

    with open('static/poll.lock', 'w'): 

        pass

else:

    pass
    # do something
...