udvikling af lort

Sidst jeg arbejder for det meste med kode, ikke med forvaltningen, så granit, som rette op på med codene meget mere end en server, så, så jeg besluttede mig for at ramme et par linjer af nonsens, at jeg var tilfreds med at. Hele tiden ved at forberede at forberede deres fremlæggelse af projekter, som har et par åbne dramatiske dele

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX og andre dynamiske processer, der formidler den interaktivitet og forbedre moderne vision og funktionalitet. Vi troede, at meget løsning som den mest acceptable var med cookies information, og derefter php sørg for, at oplysningerne er korrekte, og alt er i orden. Доста грамотно решение но накрая се появи още по приличен вариант. HTML който да се изпълнява ако попадне в noscript. Според мен е и най елегантното решение.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

Общо взето ситуацията е тривиална ако спрем JS поддръжката ще бъдем пренасочени към nojs.html. Простичко и доста ефективно решение

  • Php multhithreadingмного нишковоста е нещо което доста полезно при процесори с повече ядро (не че на едноядрени не е ОК но при много ядрени системи нещата са друга бира). Vores software har en del, der indsamler oplysninger fra andre API – og dets import, og derefter i vores database. Obovata generelt ikke et problem, bortset fra at det er lavet ikke mindre end i php multhithreading i cli-tilstand, fordi denne proces dosatachno stor og skal automatiseres, der er vigtigt for knalga nogen gør det manuelt. Der var drama, der er forbundet med forunato processer, og stream fra at skabe barnet proces-og det script ishakpasa at prikluchenia for at oprette en ny. Dumme er ideen ubiwise multiprocessor, der er faktisk en adfærd og ikke multhithreading men det er de detaljer. Første sted & efter processen, hvilket betyder, at fortsætte med at arbejde, men manuskriptet var stadig ingen ændringer i adfærd, der kræves og standard output af scriptet for at blive omdirigeret – i mit tilfælde, er det bedst at /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);
}

Primercheto er igen trivielle. Fra de resultater, jeg var meget vpechatlen spækket med mellem løfte processen, og så gjorde om 50 barnet processen-en der stramba lavet 7800+ mysql skær om 30-40 sek. Og bilen er meget skrøbelig, fordi vi er i test wjrjr, før du henter app ' en for real.

  • Mysql querys – Jeg var chokeret over en stor vrøvl. Der var en kode, der gjorde 4-5 den ekstra database forespørgsler, brug i stedet en mere fedtet sql-forespørgsel, og så det vigtigste arbejde at udføre php han er. Drama som dette, bedre- yderligere anmodningen er fremsat, at de nødvendige oplysninger er til rådighed, så forespørgslen resultatet er brugt til at lave andre undersøgelser, da det holder argumenter. Fed og grim situation. Underforespørgsel men dette er ukendt område, formentlig som en left join, eller simpelthen ikke har almissani alt er godt. Jeg fangede penapisan forespørgsel, og det virker ret godt, og, som regel, er belastningen faldet med omkring 200% i det samme stykke kode.

В общи линии това са нещата на последък с които се заниамваме и немога да кажа че е скучно но понякога се изумявам от разни необмисляни парчета код които трябва да поправям а най стеращното е че често са мои 😆

Forstærket af Zemanta

2 kommentarer

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

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

efterlade et svar

Din e-mail-adresse vil ikke blive offentliggjort. Krævede felter er markeret *

Anti-SPAM *