Запуск фоновой задачи в flask после вызова определенного URL - PullRequest
0 голосов
/ 03 августа 2020

После вызова URL-адреса, например: www.example.com/run_this_thing Я хочу, чтобы запускалась фоновая задача. Это похоже на то, что я хочу запустить скрипт в фоновом режиме после вызова определенного URL-адреса. Это займет около 10 минут. Этот URL-адрес вызывается только один раз в 3-5 часов

Фрагмент того, что я использую:

@app.route('/run_this_thing')
def damn_man():
    myobject = myscript.MyClass(arguments)
    t1 = threading.Thread(target=myobject.run)
    t1.start()
    return "<h1> IT IS RUNNING!!! </h1>"
    

Кроме того, что интересно, я развернул в azure серверном веб-приложении и это работает как первые несколько раз. Тогда это не так. Я новичок в flask. Он работает, когда я делаю sh через git один раз каждые несколько часов, но это вообще невозможно.

Я тоже пробовал. Он ничего не возвращает, но запускает фоновую задачу несколько раз и после нескольких часов развертывания в azure возвращает ошибку сервера !!!

@app.route('/this_should_really_run', methods=['GET', 'POST'])
def damn_it():
    myobject = myscript.MyClass(arguments)
    return myobject.run()

Для решения ::

  • Было бы идеально, если бы я мог найти решение, чтобы запускать скрипт каждые несколько часов вместо необходимости go URL-адреса для запуска задачи. Для этого я также пробовал использовать потоки, но не повезло.
  • Если нет, было бы здорово, если бы при посещении сайта либо вызывалась функция, либо что-то еще, только после посещения веб-сайта скрипт должен работать.

Я слышал и видел что-то вроде сельдерея, но выглядит много проблем, например, URL-адрес брокера и URL-адрес внутреннего сервера this_question можно ли его использовать на azure? Он развернут на azure как веб-приложение, которое использует linux и python3 .8 в качестве среды выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...