После вызова 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 в качестве среды выполнения.