ontwikkeling shits

Die afgelope tyd het ek werk meestal met'n kode, nie met die bestuur, so graniet wat reguit met codene veel meer as'n bediener, so, so ek het besluit om te tref'n paar lyne van die nonsens dat ek die inhoud te. Voortdurend voor te berei om voor te berei hul projek aanbiedings wat'n paar opening dramatiese dele

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX en ander dinamiese prosesse wat dra die interaktiwiteit en die verbetering van die moderne visie en funksionaliteit. Ons het gedink dat baie oplossing as die mees aanvaarbare is met die koekies inligting, en dan php maak seker dat die inligting korrek is en alles is in orde. Baie goeie besluit, maar in die einde was daar nog meer as'n ordentlike opsie. HTML wat om te doen as hulle kom in noscript. In my opinie, dit is die mees elegante oplossing.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

In die Algemeen, die situasie is triviale as ons ophou om die ondersteuning vir die JS sal herlei word na nojs.html. Eenvoudige en baie effektiewe oplossing

  • PHP multhithreading – baie nishkovosta iets baie nuttig vir die verwerkers met meer core (dat nie een van die monsters in die EINDE, maar toe baie kern stelsels en ander dinge, bier). Ons sagteware het'n deel wat versamel inligting uit ander API – en sy invoer, en dan in ons databasis. Obovata oor die algemeen nie'n probleem nie, behalwe dat dit is gemaak van nie minder nie as in php multhithreading in cli af, omdat hierdie proses dosatachno groot en behoeftes te outomatiese word is belangrik vir knalga iemand doen dit met die hand. Daar was drama wat verband hou met forunato prosesse en die stroom van die skep van kind proses-en 'n script wat gewag om priklyuchabota om 'n nuwe te skep. Dom dat multi idee van wat is eintlik gedrag en nie multhithreading vermoor, maar dit is details. Die meeste na vore gebring & nadat die verhoor wat beteken om hul werk script nog geen verandering in gedrag wat vereis word en standaard uitset van die script voortgaan om herlei – in my geval, asook om /dev / null 🙂 Накрая структурата на тази част от кода изглеждаше така
$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
}else if ($pid) {
// we are the parent
echo "I'm parent  \n";
pcntl_wait($status); //Protect against Zombie children
} else {
// we are the child
echo "I'm a child $timer  \n";
exec("$command > /dev/null &");
exit (0);
}

Primerčeto is weer triviale. Van die prestasie, ek was baie vpechatlen afgewissel met tussen die opheffing proses, en so het oor 50 kind proses-wat'n stramba gemaak 7800+ mysql insetsels oor 30-40 sec. En die motor is baie broos, want ons is in die toets wjrjr voor jy haal die app vir real.

  • mysql Querys – Ek was geskok deur die een groot nonsens. Daar was'n kode wat het 4-5 die ekstra databasis navrae, in plaas daarvan gebruik om'n meer olierige sql navraag, en dan die belangrikste werk uit te voer php hy is. Drama was soos hierdie, beter- verder het die versoek is gemaak dat die nodige inligting word verskaf, dan is die soektog resultaat is gebruik om ander navrae as wat dit duur argumente. Mooi lelik en vet situasie. Die subquery maar dit is'n onbekende gebied, waarskynlik as'n links, sluit aan by, of net het nie almissani al is goed. Ek gevang penapisan navraag en dit werk baie goed en, as'n reël, die las gedaal het met ongeveer 200% in die dieselfde stuk van die kode.

Basies dit is die dinge wat die afgelope tyd wat zaniamvame en ek kan nie sê dit is vervelig, maar soms Ek is verbaas deur sommige neobmislyani stukkies kode wat jy nodig het om op te los en die sterashtnoto is dat dikwels my 😆

Versterk deur Zemanta

2 kommentaar

  1. И аз имам тегления на данни, сложени в crontab-a. Пробвах преди със & в края, но ставаше пиково натоварване, грозна история. Сега съм ги оставил, като свърши единия процес, да пуска другия, но това е ужасТ :> Като зацикли някъде и всичко отива по дяволитетова го решавам като килвам старите процеси, като дойде време да се пуска новия, но това е още по-голям ужасТ, защото губя данни. Та ще се се опитам да имплементирам, твоето решене по този въпрос. Благодарско! 🙂

    1. Ами по моя метод хубавото е че информацията може да се обработва от няколко процеса едновременно но това също ти гарантира по голямо натоварване 😉 Баланса между натоварване и скорост винаги е много тънък. Всичко опира до тестове.

Laat'n Antwoord

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *

Die Anti-SPAM *