Autor Zpráva
spiider
Profil *
Ahoj, napsal jsem si skript, který v cyklu přídává řetězec do png obrázku, který pak uloží a vytvoří z něho pdf soubor. Toto se provede x krát, podle toho jaké číslo se zadá. Takže kdybych chtěl vytvořit např. 400 pdf tak do formuláře se zadá 400 a mělo by to vytvořit 400 pdf souborů, které na závěr zazipuju. Ovšem vše je strašně časově náročné, takže pokud zadám jenom 30 souborů už to píše Fatal error: Maximum execution time of 30 seconds exceeded..... nemáte někdo tip jak toto vyřešit popř. urychlit?? na tvorbu pdf používám mpdf a na vytvoření zipu knihovnu zib.lib.php

Díky za rady
ShiraNai7
Profil
K čemu přesně je dobré mít 400 stejných pdf souborů v jednom archívu?
spiider
Profil *
Není to 400 stejných souborů ale do každého obrázku se vygeneruje 6-ti místný řetězec a přidá se tam. Potřebuju to na generování poukazů, když je nutné to vědět ;)

Jinak jsem pomocí set_time_limit(0); vypnul časové omezení ale teď nevím zda to nezatíží extrémně server. Jelikož sem změřil že 10 obrázků trvá 15s.
Louka
Profil
spiider:
Můžeš to dělat po dávkách, aby to nebylo najednou.
Chro
Profil
spiider:
Bez ukázky celého kódu ti, myslím, nikdo kloudně neporadí. Určitě by to šlo optimalizovat. Dělám něco podobného. Generuju jen 1 PNG obrázek s textem 300x200 px, 40 kB, ostřím ho ještě funkcí imageconvolution a proces trvá ~0,05 sekundy.
tany
Profil *
použít ajax a volat script ajaxem třeba na 10 pdf ..
1) script.php
Bude obsahovat form, a smyčku. Vygeneruješ pole v javascriptu (třeba jquery) a ajax pak bude postupně posílat get na script2 ( script2.php?id1=xxxxxx&id2= xxxxx ..
2) script2.php
bude zachytávat get a podle něho generovat pdf.
nethor
Profil
tany:
To přestane fungovat v okamžiku, kdy uživatel stratí trpělivost a shodí okno prohlížeče.

Řešení by bylo poznamenat si požadavek do databáze a spouštět po přijatelných dávkách.
Pokud to jde, tak přes chron, v horším případě při každém přístupu na index.php.
spiider
Profil *
Diky za reakce, zkusím požadavek uložit a postupně vykonat v rozumných dávkách. Díky
tany
Profil *
nethor:
no to je jasný, ale předpokládám, že tuhle šílenost nebudou spouštět uživatelé, ale jen on .. takže to pustí a může jít ven. Parsery webů (seznamy firem apod ..) co jsem dělal fungují taky tak a nikdy si žádný zákazník nestěžoval - a to ten script běžel třeba 4 hodiny ( sparsovat cca půl miliónu stránek není hnedka)

Tohle je podle mě nejjednodušší na implementaci ..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: