我在nginx上使用php-fpm。我有一些脚本,这些脚本将上传的excel工作表进行处理。这是一项长期的工作。但是,执行时间60秒后,我收到504网关超时错误。
php脚本一直运行到完成。因此,没有什么可以阻止脚本的完成。
我需要停止此错误。
我一直在使用fastcgi_read_timeout参数。但是,它似乎无法解决此问题。但是我知道它正在考虑此参数,因为如果将其更改为0并重新启动nginx,则504网关超时将立即显示。
df_id['history_date'] = pd.to_datetime(df_id['history_date'])
df_id_ts = df_id.groupby('history_date', as_index=False).sales.sum()
df_id_ts.rename(columns={'sales':'daily_sales'},inplace=True)
for index, row in df_id_ts.iterrows():
df_id_ts.loc[index, 'price']= df_id.loc[df_id['history_date']==row['history_date'], 'price'].values[0]
print (df_id_ts)
history_date daily_sales price
0 2014-01-06 484.07 23.01
1 2014-01-30 167.25 23.04
2 2014-02-18 176.08 23.05
3 2014-02-19 140.75 23.06
4 2014-02-22 140.75 23.07
在解决此问题方面遇到障碍时,任何帮助将不胜感激。
答案 0 :(得分:2)
我几乎完全放弃了!但是,在最后一分钟,我想出了答案。
服务器位于负载均衡器后面的Amazon AWS上。负载均衡器的idle-timeout属性设置为60秒。更改此设置可以解决问题!