#ubuntu #python-multiprocessing #gunicorn #facebook-prophet
Вопрос:
Я пытаюсь развернуть приложение flask на Gunicorn в виртуальной машине. Однако я продолжаю получать эту ошибку, когда отправляю запрос через почтальона, чтобы опробовать приложение flask, BrokenPipeError:[Errno 32] Сломанная труба. (Ссылка на ошибку здесь)
После попытки повторить ошибку в меньшем масштабе выясняется, что причиной этой ошибки является выполнение класса пула для функции prophet.
Вещи, которые действительно работают:
- Занятия по бегу в бассейне на Гуникорне
- Запуск функции пророка на Gunicorn
- Запуск приложения flask (пул пророк) на локальном сервере
Пример кода:
def simple_prophet_function (unused_arg):
# create a simple dataframe
first_date_on_list = datetime.datetime(2018,7,1).date()
first_sale = 30
create_date_list = [(first_date_on_list datetime.timedelta(days=x)).isoformat() for x in
range(60)]
create_random_sales_list = [first_sale x for x in range(60)]
df_prophet = pd.DataFrame()
df_prophet['ds'] = create_date_list
df_prophet['y'] = create_random_sales_list
# create a forecast
forecast_model = Prophet()
forecast_model.fit(df_prophet)
future = forecast_model.make_future_dataframe(periods=5)
forecast_results = forecast_model.predict(future )
return unused_arg
# function that will be used in flask app
def execute(random_data):
# create a simple list
new_list = [1,2,3]
if __name__ = "put_name_of_script":
with Pool() as pool:
M = pool.map(simple_prophet_function , new_list)
print(M)
(Извините, отступ не точен, по какой-то причине моя кнопка вкладки здесь не работает)
Мои спецификации виртуальной машины таковы:
- ОС: Linux Ubuntu
- Базовая память: 4096 МБ
- Процессоры: 2
- Жесткий диск: 30 ГБ
https://i.stack.imgur.com/lssRo.png
https://i.stack.imgur.com/m30DZ.png