miklos_akos (statz) | #7, Lófasz (871) |
202 | #4f40 | ^ | Idézet | Mon, 02 Mar 2020 12:00:50 +01 |
188.6.*.* | *.catv.pool.telekom.hu |
cat: irashiba: torott adatcsatorna :) A phpinfo szerint van. |
TCH (statz) | #1, Főfasz (10443) |
2679 | #4f41 | ^ | Idézet | Mon, 02 Mar 2020 13:22:00 +01 |
188.143.*.* | *.pool.digikabel.hu |
Valami gáz van azzal a rendszerrel. Kinyírja neked az stdout-ot. Oké. Akkor előkapartam a cURL-es wrapperemet, meg összedobtam két függvényt: function get_ext_webpage($url)
{
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
function get_line_with_string($haystack, $needle, $offset = 0)
{
$s1 = strpos($haystack, $needle, $offset);
if ($s1 === false)
{
return false;
}
$s2 = strpos($haystack, "\n", $s1);
if ($s2 === false)
{
$s2 = strlen($haystack);
}
if ($haystack[$s2 - 1] == "\r") /* Handle windows (yuck) newlines... */
{
--$s2;
}
$s0 = strrpos($haystack, "\n", $s1 - strlen($haystack));
if ($s0 === false)
{
$s0 = -1;
}
++$s0;
return array($s0, $s2);
}
function get_lines_with_string($haystack, $needle, $offset = 0)
{
$result = array();
while (is_array($a = get_line_with_string($haystack, $needle, $offset)))
{
$result []= substr($haystack, $a[0], $a[1] - $a[0]);
$offset = $a[1];
}
return $result;
} És akkor az érintett sor így módosul:$job = implode("\n", get_lines_with_string(get_ext_webpage($row['partnerurl']), 'artdet__stock-title'));Feltéve, ha a grep több sort is visszaadhat. Ha mindig csak egy sor jöhet be onnan, akkor használhatod az első függvényt is, csak kicsit átírva: function get_line_with_string($haystack, $needle, $offset = 0)
{
$s1 = strpos($haystack, $needle, $offset);
if ($s1 === false)
{
return false;
}
$s2 = strpos($haystack, "\n", $s1);
if ($s2 === false)
{
$s2 = strlen($haystack);
}
if ($haystack[$s2 - 1] == "\r") /* Handle windows (yuck) newlines... */
{
--$s2;
}
$s0 = strrpos($haystack, "\n", $s1 - strlen($haystack));
if ($s0 === false)
{
$s0 = -1;
}
++$s0;
return substr($haystack, $s0, $s2 - $s0);
} És akkor az érintett sor is így módosul:$job = get_line_with_string(get_ext_webpage($row['partnerurl']), 'artdet__stock-title');Ettől függetlenül, ha a grep működésének utánzása a cél, akkor én az egyes felállást választanám (multiline-failsafe) és ha óránként fut, akkor meg igazán érdektelen az extra overhead, amivel az egysoros eredményre meghívott külső függvény jár. |
miklos_akos (statz) | #7, Lófasz (871) |
639 | #4f42 | ^ | Idézet | Mon, 02 Mar 2020 13:27:36 +01 |
188.6.*.* | *.catv.pool.telekom.hu |
Koszonom a rengeteg segitseget, negyedorankent frissitem a raktarkeszletet cron jobbal es phpval. A sajat vernyomasom nyugtatasa vegett leszarom hany ezer sor jon, engem az erdekel, hogy amit keresek az ott van, ahol keresem-e. |
TCH (statz) | #1, Főfasz (10443) |
556 | #4f43 | ^ | Idézet | Mon, 02 Mar 2020 13:53:43 +01 |
188.143.*.* | *.pool.digikabel.hu |
Nincs mit, negyedóránként is leszarható. Ok, akkor az első felállás a javasolt, az azt csinálja, amit a grep kiköpi azokat a sorokat, ahol szerepel a keresett string. (Értelemszerűen sortöréssel elválasztva.) Működik amúgy? |
miklos_akos (statz) | #7, Lófasz (871) |
193 | #4f44 | ^ | Idézet | Mon, 02 Mar 2020 14:16:50 +01 |
188.6.*.* | *.catv.pool.telekom.hu |
Eppen termeklistat toltok fel amibe termeszetesen az arak nincsenek benne szoval egyesevel irogathatom bele :))))) Majd kesobb megnezem. |
TCH (statz) | #1, Főfasz (10443) |
20 | #4f45 | ^ | Idézet | Mon, 02 Mar 2020 16:04:37 +01 |
188.143.*.* | *.pool.digikabel.hu |
Nu, műkö-dikmá'? |
miklos_akos (statz) | #7, Lófasz (871) |
81 | #4f46 | ^ | Idézet | Mon, 02 Mar 2020 17:19:43 +01 |
188.6.*.* | *.catv.pool.telekom.hu |
Ora 30-kor elvalik. |
miklos_akos (statz) | #7, Lófasz (871) |
399 | #4f47 | ^ | Idézet | Mon, 02 Mar 2020 17:33:12 +01 |
188.6.*.* | *.catv.pool.telekom.hu |
EEEEEEEEEEEEEEEEEEEEEEEEES UGYANUGY LELOVI A HOSTING. EZAZ!<div class="artdet__stock-title product-stock-title icon--b-on-stock">In stock</div>Raktaron: 8342 1<br/> <div class="artdet__stock-title product-stock-title icon--b-on-stock">In stock</div>Raktaron: 8343 1<br/> 87xx a legutolso ID, nem 8343. |
TCH (statz) | #1, Főfasz (10443) |
967 | #4f48 | ^ | Idézet | Mon, 02 Mar 2020 17:51:55 +01 |
188.143.*.* | *.pool.digikabel.hu |
Hány percig fut az a szar? Szerintem timelimitre szalad és kiöli a rendszer. Ki kéne próbálni, hogy a set_time_limit(600), vagy az ini_set('max_execution_time', '600') át tudja-e ütni a limitet tíz perecre, mert szerintem egyszerűen annyi ideig tart az egyes URL-ek letöltögetése, hogy elszáll a faszba az egész. Ha nem megy, akkor szólni kéne a rendszerg!zdának, hogy állítsa át nagyobbra. (Egyébként ritka tróger oldalai lehetnek a partneroldalaknak, ha még egy redvás API-ra sem tellett, ahol az egész listát le lehetne egyszerre kérni és ehelyett egyesével kell lekérni a termékoldalakat.) https://888.hu/szabadlabon/a-szamitogepes-bunozesrol-kezdoknek-4231368/ Úristen bazmeg, ilyen hülye emberek vannak, hogy vadidegeneket engednek be a gépükre távoli asztalos eléréssel? |
Ádám (statz) | #4, Főfasz (1815) |
443 | #4f49 | ^ | Idézet | Mon, 02 Mar 2020 22:03:50 +01 |
80.98.*.* | *.catv.broadband.hu |
Na ide se mostanában írtam (~3 hónapja), de ezt mindenképp be kell küldenem: kibasszák az undorító csempegecit a winfos10 startmenüből. Szóval belátta a mikrofos hogy a winfosnyóc fasságát hiába ültetik át valami állítólagosan használhatóbb formába, akkor is egy fos marad. |
TCH (statz) | #1, Főfasz (10443) |
193 | #4f4a | ^ | Idézet | Mon, 02 Mar 2020 22:22:33 +01 |
188.143.*.* | *.pool.digikabel.hu |
(Lektor óne rovat...) Hát...good riddance to bad rubbish. Nem kár azért a szarért. A winfos10-et is kibaszhatnák már... |
miklos_akos (statz) | #7, Lófasz (871) |
528 | #4f4b | ^ | Idézet | Tue, 03 Mar 2020 09:15:23 +01 |
188.6.*.* | *.catv.pool.telekom.hu |
A set_time_limit(600); se utotte at, yey. Szerintem a cloudlinux os-ben valami cpu hasznalati limit vedelem miatt doglik meg, mert ez a holt egyszeru cronjob 100%-ra terheli a procit. :) |
TCH (statz) | #1, Főfasz (10443) |
1714 | #4f4c | ^ | Idézet | Tue, 03 Mar 2020 10:05:56 +01 |
94.21.*.* | *.pool.digikabel.hu |
A CPU használatot nem hiszem, hiszen az végig nagyjából azonos szinten kell, hogy legyen, ergo, ha azzal lenne a baj, akkor már a legelején le kéne, hogy bassza a gecibe, de ez csak menetközben szarik be. Az, hogy nem működtek az időkorlát-átállítások, az nem jelenti, hogy a rendszer átállította és ennek ellenére rohad le, hanem az is lehet, hogy a korlát átállítása tiltva van. Vagy kontaktolj a rendszergizdával, hogy adjon má' több időt ennek a szarnak, vagy pedig újra kell szervezni a kódot, hogy tudja folytatni onnan, ahonnan abbahagyta. Nem akkora ördöngősség egyébként; szükséged van egy markerfájlra, hogy elkezdted a műveletet és tárolni kell benne, hogy hányadik ID-t fejezted be. (Mert ugye egy feldolgozás kellős közepén is megszakadhat, tehát befejezett műveletet tárolunk.) Ha a fájl létezik, kiolvasod a tartalmát és induláskor a következőtől folytatod. Ha nem, akkor elölről kezded. Ha lefutott az egész, akkor törlöd a fájlt. Így ugyan több lépésből, de frissülni fog az a fos. De én még megelőző lépésként én kimérném, hogy meddig fut a script. Azaz a bemenetnél beraknék egy olyat, hogy file_put_contents('/tmp/time.start', time());, a curl hívások elé és mögé is pedig egy olyat, hogy file_put_contents('/tmp/time.pend', time()); és akkor a következő crashnél egyszerűen kivonod a time.pend-ből a time.start-ot és látni fogod, hogy meddig futott. Ha ilyen nagyon kerek szám közeli értéket kapsz (30, 60, stb.), akkor tuti, hogy időlimit. Ha ilyen totál random értéket, pl. 133, akkor nem. Ezt azért csinálnám még előtte, mert ha időlimit, akkor lehet, hogy elég a rendszergizdától több időt kérni, de ahhoz tudni kell, hogy időlimit. |
miklos_akos (statz) | #7, Lófasz (871) |
752 | #4f4d | ^ | Idézet | Tue, 03 Mar 2020 10:53:09 +01 |
188.6.*.* | *.catv.pool.telekom.hu |
Legelso teszt ertekkulonbsege: 145. |
TCH (statz) | #1, Főfasz (10443) |
645 | #4f4e | ^ | Idézet | Tue, 03 Mar 2020 15:15:01 +01 |
188.143.*.* | *.pool.digikabel.hu |
150 sec az két és fél perc. So-so... Az ini_get('max_execution_time') működik, visszaad valamit? Ne csak simán írasd ki, mert a PHP az int értékeket lenyeli, ha az outputra küldöd őket; konkatenáld valamivel, vagy typecastold, pl.:die(ini_get('max_execution_time') . '');Ha amit visszaad közel van a 145-höz (pl. 150), akkor ez a baja. Ha messze többet ad vissza, akkor más. Ha semmit, akkor nem tudjuk, mérni kell tovább; ha a következő mérések is kb. ennyit adnak, az már gyanús, lehet megírni a "folytatós" szkriptet. |
Analfabéta csicska spammer alias "Szar Dékány Endre a csicska spammer geci" | #32, Alfasz (9) |
760 | #4f4f | ^ | Idézet | Tue, 03 Mar 2020 23:52:38 +01 |
5.62.*.* | 5.62.*.* |
Dögölj már meg te csicska spammer geci, hogy dögölnél már meg. Hányszor esz még vissza a fene? Ez már a hatodik rohadt spammed itt és az oscompon is volt már vagy három. Még egy ekkora csicska kutyát, mint te, hogy kézzel spammelsz vendégkönyvekbe, te szarrágó fostalicska, te kotonszökevény geci, te raklap bivalyganyé, te húgyagyú fostartály, te lóbaszó faszkalap. Dögölj már végre meg. Bazmeg, az az iszonyatos, hogy van aki bedől ennek az alsóbbrendű fingagyfajzatnak, nézzétek és szánakozztatok. (A kommentek tetején meg egy másik hülye egy másik csicska spammernek dőlt be (utóbbi is az oscompot találta be egyszer).) |