Closed
Description
Using Orca to export multiple static PDF files, when I get to the 25th file the process hangs and never completes. The limiting number of files seems to depend on the file type:
pdf, svg: 24 files written
png, jpg, webp: 25 files written before hanging
The same happens whether I write to a file or a BytesIO stream. For interest, the reason I'm doing this is to write a multi-page PDF as per the issue here plotly/orca#143.
import plotly.io as pio
import plotly.graph_objs as go
import io
import numpy as np
def make_figure():
"""Function to make random figure"""
x = np.linspace(0, 10, 100)
y = np.random.randint(1, 100, 100)
trace = go.Scatter(x=x, y=y, mode='markers')
return go.Figure(data=[trace])
use_stream = False
filetype = 'pdf'
for i in range(50):
print('Page {}'.format(i+1))
if use_stream:
pdf_file = io.BytesIO()
else:
pdf_file = '{}.{}'.format(i, filetype)
pio.write_image(make_figure(), pdf_file, filetype)
I can circumvent the issue by adding the following line into the loop to periodically restart the Orca server:
if (i+1) % 20 == 0:
pio._orca.shutdown_server()
Versions:
Windows 7 Professional
Python 3.6.4 x64
plotly==3.3.0
psutil==5.4.8
Node.js v8.12.0
npm@6.4.1
electron@1.8.4
orca@1.1.1