Posts tagged: alkalmazás

"Jelentkezzen be Twitter" a Zend Framework

A , csütörtök 17 március 2011 01:07 am

Mindezek ellenére a twitter gyűlölet abban a pillanatban, már elhatározta, hogy létrehoz egy új twitter -alapú alkalmazás. Hogy valaki, aki irányítja több számla (mind személyes, mind az én jótékonysági munkát) Már igénylő eszköz, valamikor, hogy én csak most körül, hogy írásban (többet, hogy a közeljövőben ...).

Olvastam fel Zend_Oauth_Consumer és hogyan lehet használni kap engedélyt kölcsönhatásban áll a Twitter segítségével OAuth . Minden szép és jó, ott van a hozzáférési kulcsot, és én is vidáman tegye el a felhasználó nevében. Rengeteg a források ott, hogy ezt így nem unalmas emberek.

A következő lépés az volt, hogy az emberek, hogy visszatérjen a honlapján, jelentkezzen be és módosíthatja a számláján. Itt értem el egy kis probléma. A kód példák a weboldalakon azt jelentette, hogy volna twitter kérnek tőlem hozzáférési engedélyt minden bejelentkezéskor újra, nem jó. Szkennelés kereten keresztül nem láttam semmit, ami lehetővé tenné számomra, hogy csak kérhet hitelesítést. Ez nem jelenti azt, hogy nem létezik, de nem úgy tűnik, egy hitelesítési mechanizmus, amely lehet hivatkozni ismerete nélkül a hozzáférési token már.

Az alternatívák voltak, hogy végre egy site-alapú jelentkezzen be, vagy valamilyen módon tárolja a felhasználó hozzáférési token a kliens (titkosított természetesen). Ezek közül egyik sem tűnt, mint egy jó / megfelelő megoldás.

Folytatódik olvasó "Jelentkezzen be Twitter" Zend Framework "»

Meztelen Zend_Layout és Zend_View

A , kedd 10 augusztus 2010 23:47

Ebben a cikkben megnézzük a Zend_Layout Zend_View és ezzel együtt egy egyszerű front controller, hogy hogyan lehet elindítani elválasztó üzleti logikát és a prezentáció belül az alkalmazás. Minden kóddal elérhető GitHub:
Meztelen Zend_Layout Zend_View és a GitHub .

Folytatódik olvasó "Naked Zend_Layout és Zend_View" »

PHP Design Patterns - Observer Pattern

A , kedd 29 december 2009 22:02

Én olvastam Head First Design Patterns a közelmúltban, és úgy döntött, hogy írjon néhány minta PHP példákat a saját javára. Az első, hogy úgy döntöttem, hogy a kód fel Observer Pattern . A hivatalos definíció az Observer minta:

A megfigyelő minta (egy részét az aszinkron közzé / subscribe minta ) egy szoftver tervezési mintát , amelyben egy tárgyat , melyet a téma, egy listát az eltartottak, az úgynevezett megfigyelők, és értesíti őket automatikusan bármilyen állapotváltozása, általában hívja egyik módszer . Ez főleg elosztott rendezvény megvalósításához kezelő rendszerek.

Ahogy rendszerek egyre lazán ügyelve arra, hogy ha egy esemény történik minden igénylő rendszerek ismerete ezek a frissítések a tájékoztatását. Például egy blogbejegyzés, és mentés után egy poszt akkor valószínűleg frissítenünk kell egy keresőmotor (pl. Lucene), frissítjük oldaltérkép, címkék, e-mail jegyzett felhasználók, stb megfigyelő minta lehetővé teszi a fejlesztők, így további hallgatók nem módosítja a megfigyelhető objektum . Az intravénás megfigyelők (azaz a kereső frissítést megfigyelő, egy oldaltérkép generátor, stb) egy tárgy (pl. blogbejegyzést szerkesztő rendszer) számára tudunk az, hogy teljes a szükséges frissítéseket változtatás nélkül.

Folytatódik olvasó "PHP Design Patterns - Observer Pattern" »

Office Grid segítségével virtuális környezetben - 3. rész

A , péntek december 4, 2009 23:37

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartások adatok minden nap, és én már gondolok a közelmúltban arról, hogy az összes gép ülnek minden nap semmittevés órákon át. Nem lenne jó, ha tudnánk használni az olyan berendezést, mely növeli a feldolgozási teljesítmény a rendszerünk? Ebben a statútum fogom nézni a potenciális előnyei foglalkoztat egy irodai hálózat segítségével virtualizált környezetben.

A 2. részben megnéztük a munkahelyek egy szerver fog futni, és hogyan munkahelyeket úgy kell beállítani, annak érdekében, hogy a legnagyobb mennyiségű feldolgozás, biztosítva egyúttal, hogy minden feladat feldolgozása hiba nélkül.

Beállítása a munkavállaló - és petyhüdt szerver

A következő lépés a folyamat, hogy beállítsa a virtuális munkavállalók. Ehhez fogom használni telepítése CentOS VirtualBox segítségével. Meg fogom telepíteni MySQL és a PHP a szerveren, más néven sántítás (Li Nux, ySQL m, P HP) Kiszolgáló (Lehet, hogy tette ezt a nevet fel).

  • VirtualBox telepítése a Windows gépen (az alábbi link)
  • Töltse le és telepítse CentOS (jelenlegi verzió 5.3) belül létrehozott virtuális gép

Nincs értelme lesz nekem erre van talán 1000 's nagy tutorials odakinn (OK, itt van egy: létrehozása és Managing CentOS virtuális gép alatt VirtualBox ). Az Fontos megjegyezni azt hiszem, hogy én felhívtam a virtuális gép GridMachine.

Ami a választásom a virtualizáció és az operációs rendszer kliens megy nincs nagy kényszerítő ok, minden választás. A VirtualBox valamit, amit használni az otthoni gépen, és támogatja a három fő operációs rendszerrel. Úgy döntöttem, CentOS, mint a jó és stabil operációs tudom használni a saját webszervert. Én vagyok egy nagy híve a megfelelő eszközöket a munka (bár én alkalmazása "használja a leggyorsabb és legegyszerűbb neked" mentalitás itt), így ha az operációs rendszer X fut a kód gyorsabban és hatékonyabban használni, hogy helyette :)

Fontos, hogy ellenőrizze, hogy a VM használ DHCP, különben minden egyes új virtuális gépet kellene beállítani külön-külön, ami valami, amit nem használ DHCP want.By nem kell beállítani a hálózati beállításokat külön-külön dolgozó gépek, DHCP átad IPs ki az Ön számára. Ezért tudja másolni a virtuális gépen az Office nem kell aggódni a kiosztásról egyet (ez javítja a skálázhatóság és csökkenti a munkavállaló adminisztráció).

A folyamat akkor tűztek ki célul az lenne, hogy szerezzen be új fizikai gép, VirtualBox install, majd nagyjából bevetni a virtuális kép nem sok mást. Lehet, hogy bölcs, hogy beállít az összes munkavállaló egy másik alhálózaton, így legalább látni, hogy hány gép fut. Azt is el kell állítania a gép egy hosszú távú bérleti vagy lízing korlátlan DHCP.

Hogyan lehet futtatni Jobs a munkavállaló

Ez egy érdekes terület, és számos megalapozott módszereket feldolgozó munkákat a munkavállaló. Itt én csak megvitatják a két legnyilvánvalóbb:

  • Állandóan futó script: A script, legyen az egy shell script, vagy egy PHP script lefut, ha a munkavállaló és fut részeként végtelen ciklusba. Én ezt a módszert diszkontált egyik összeomlik a forgatókönyv és esetleg a munkavállaló megszűnik nélkül fut valamilyen beavatkozásra.
  • Cron alapú parancsfájl végrehajtása: minden X percben a cron démon indul egy hívást a script, hogy mennek a dolgok. Néhány ellenőrzés nélkül vezethet, hogy sok-sok példányban a munkavállaló script fut.

Az én döntésem volt, hogy a cron, amely indul egy shell script minden 10 minutes. Saját shell script a következő feladatokat:

  1. Kap egy futó programok listáját, és ezt szűrnünk 'php'. Ha nem találja, majd folytassa.
  2. Hívja fel a munkát kódot, az én esetemben ez valami php alapú
  3. Munkás szkript befejezi a run
  4. Ready to go again a következő megfelelő hívás

Saját bash script így néz ki a következőket:

  #! / Bin / sh
 ha ps ax | grep-v grep | grep php> / dev / null
 majd
     echo "Job jelenleg feldolgozás, exit"
 más
     echo "feladat nem fut, indítsa el most"
     php yourJobProcessingScript.php
 fi 

Megjegyzés: a visszhang-k szinte teljesen értelmetlen, de segíthet a következő személyt, aki jön, hogy megpróbálja szerkeszteni őket.

Megállapítja, hogy a felállított a munkavállaló virtuális gép, gyors, egyszerű és könnyen másolható, hogy minden új darab hardvert érkezik. Az "okosság" a távvezeték-rendszer valójában nem a megjelenített operációs rendszer, annak minden köze a kód munkahelyet teremtett a folyamat, a munka konfigurációt, és ügyelve arra, hogy a feladat fut, ha megfelelő (vagyis, ha a fogadó tétlen ).

Beállítása Windows inicializálása Munkáspárt

Az első feladat, hogy kidolgozza a parancs futtatásához szükséges virtuális gépet a Windows parancssorban. Ha már telepítette a VirtualBox az alapértelmezett helyre, és már dolgozó GridMachine nevezte el a parancs szükséges töltse fel munkavállaló:

  "C: \ Program Files \ V \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Azonban futtatni a scriptet egy "fej nélküli" állapotban meg kell használni:

  "C: \ Program Files \ V \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = off 

Ez el fogja indítani a virtuális gépet anélkül, hogy a GUI-t és hagyjuk, hogy mentse az állami kecsesen. A második érv kikapcsol RDP, így nem ütközik a Windows RDP, vagy kapsz egy üzenetet figyel a 3389-es port. A virtuális gép neve nagybetű érzékeny!

Ezután szükségünk lesz, hogy hozzanak létre ablakok elindítására a munkavállaló, ha a VM gép nyugalmi állapotban van. Ehhez (Windows XP), akkor be kell menni a Start -> Minden program -> Kellékek -> Rendszereszközök -> Ütemezett feladatok az alábbiak:

Ütemezett feladatok

Ezután kattintson a "Ütemezett feladat hozzáadása" majd keresse meg hozzá egy egyéni program. Keresse meg a VBoxManage script, majd kattintson az OK gombra. Ütemezése a feladat bármilyen kiegészítő (fogjuk megváltoztatni ezt egy perc), és folytassuk. Miután kihagyva a következő képernyőn a Windows megkérdezi, hogy kivel szeretné futtatni ezt a feladatot, azt javaslom vagy a "Rendszergazda" vagy létrehoz egy új jogosultságokkal rendelkező felhasználóként. Ne feledje, nem akarunk beavatkozni a standard személyzeti fiók a gép bármely ponton. Kattintsunk a Tovább gombra, és ellenőrizze További keresési lehetőségek erre a feladatra.

A végén a futam szövegdobozba hozzátesszük, hogy "startvm GridMachine" string és arról, hogy futás csak bejelentkezett marad unticked. Látogasson el a következő feladat ütemezése és az ütemterv módosítása legördülő azt a lehetőséget, "üresjáratban", válassza ki azt az időt szeretne lenni a gép tétlen, mielőtt a következő lapon.

Végül untick a lehetőséget, amely kimondja, leállítja a feladatot, ha már fut az X ideig, de ne jelölje be a lehetőséget, hogy állítsa le a feladatot, ha a gép már nem tétlen.

menetrend

Ennyi az egész, akkor a windows telepítő fogadó!

Összegzés

Ebben a részben az általunk létrehozott egy virtuális gépet, hogy működik a munkavállaló, valamint az a mód, ahogyan mi nevezzük, és végre mi feladatunk feldolgozó szkriptet (magamnak egy PHP script). Innen nézzük meg, hogyan kell beállítani a másolatot a Windows elindul a virtuális gép a fej nélküli módban, amikor a számítógép felszabadul, és mentse az állapotba, amikor a felhasználó újra a gép használatát. Remélhetőleg ezen a ponton látsz, milyen egyszerű ez, hogy hozzanak létre egy ilyen rendszert, és a viszketés, hogy néhány kísérletet megy magad!

Legközelebb

A 4. rész fogjuk vizsgálni az eszközök használatával, annak érdekében, hogy te a legfrissebb verziót a kód és az adatok forrásait, így kapott eredmény mindig up-to-date a legújabb üzleti információk és a logika.

Office Grid segítségével virtuális környezetben - 2. rész

A , péntek december 4, 2009 11:23

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartások adatok minden nap, és én már gondolok a közelmúltban arról, hogy az összes gép ülnek minden nap semmittevés órákon át. Nem lenne jó, ha tudnánk használni az olyan berendezést, mely növeli a feldolgozási teljesítmény a rendszerünk? Ebben a statútum fogom nézni a potenciális előnyei foglalkoztat egy irodai hálózat segítségével virtualizált környezetben.

Az 1. rész áttekintést adtam a rendszer és technológiák fogom használni, valamint tárgyalt néhány a lehetséges okok, hogy miért szeretne létrehozni egy irodai hálózatba.

Állás vezérlés

Ha meg akarsz futni munkahely akkor lesz szükségünk valamilyen módon kezelni őket. A te dolgod ellenőrzési rendszer (a munka szerveren) kell igazán jól átgondolt, még mielőtt megpróbál futtatni egy irodai hálózatba. Tehát először is, mi a feladata állást rendszer:

  • Osztogatásával munkahely kérésére dolgozók
  • Mondja dolgozók milyen típusú munkákat futtatásához
  • Pálya munkahelyek
  • Ügyeljen arra, hogy a feladatok csak akkor fut, ha
  • Adja meg a feladattal kapcsolatos adatok dolgozók, vagy legalább mondd meg nekik, hogy hol kap ez

A rendszer bővíthető kell lennie, egy megoldás, ami most egy esetben meghosszabbítható futtatására többféle munkahelyet teremteni, mint az üzleti látja érdemes egy grid megoldást. Például, a munkahelyek kerülhetnek a prioritásokat, több típusú munkát is léteznek (azaz több kód bázisok), végül akkor is futhat különböző gépek, amelyeknek a munkavállaló optimalizálva minden típusú feladat (bár ez nem távolodnak az "általános munkás "ötlet). Mindig próbálj gondolkodni a jövőben, amikor rendszereket fejleszt ki, a rövid távú elképzelések vezethet hosszabb távon és nagyobb frusztrációt a fejlesztési időt.

Job Server

Elmegyünk valahová kell kontrollálni a munkahelyek, ez legyen az egyetlen rendszer, amely a rács fix Resource Locator, lehet, hogy egy IP-cím, host név, URL (a belső DNS), stb Ennek oka A munkavállalóknak tudniuk kell, hol keresse a munkahelyek, a munkavállalók meg kell találni a munka ellenőrzési rendszer (nem a munka ellenőrzési rendszer megtalálja a munkavállaló).

A munka szerver maga nem igazán bonyolult feladat (egy alap rendszer egyébként), hogy kell tárolni egy listát a munkahelyek, munkahelyek kezét, kap eredményeket, majd tárolja őket későbbi visszakeresés. Hogy ezek a részek (mint például a "kezét munkahely") meghatározása is nagyon alap. Később tudjuk kiterjeszteni a rendszer tartalmaz egy adminisztrációs felületet felvenni, szerkeszteni, törölni, felfüggeszteni munkahely de ez túl ezt a gyakorlatot.

Nem ok nélkül, akkor a munkád, hogy szerver nem egy virtuális gépen belül futó szerver a fő feldolgozás, feltéve, hogy nem folyik túl sok erőforrást belőle. A munka azonban nem kell szerver magas rendelkezésre állás, ha lemegy a péntek este fogsz veszíteni egy egész hétvégét a feldolgozás, esetleg olcsóbb neked egy pár hétig értékű feldolgozás (összehasonlítva a főbb feldolgozó kiszolgáló egyedül) . Ha akarod, fontolja meg a munkát a szerver terhelése kiegyensúlyozott környezetben a magas rendelkezésre állás.

Alapbeállítások

Az alap beállítás a mi feladatunk szerver áll, amit hívom az én egyik Limp szerverek (azaz Li Nux, ySql m, P LE). A kód fut Thea munkavállalók ténylegesen dolgoznak ki milyen munkát tud futni kölcsönhatásban áll a munkahelyek rendszer adatbázisok. Később sikerült létrehozni egy webes szolgáltatás és ténylegesen kezét munkahely helyett, amelyek a munkások csinálnak maguknak a kemény munka, de most fogunk továbbra is használja a KISS elv (Keep it Simple, Stupid!).

Szóval, lehetővé teszi létre három mySQL táblákat kezelni munkahely. Ezek lesznek a `munkahely`, `jobRecords`, `és` jobResults.

munkahelyek táblázat Itt vagyok használ SQL Buddy egy jó kis alternatívát phpMyAdmin csak azért, mert az egyszerűbb telepíteni a CentOS (mások lásd: 10 Nagy alternatívát phpMyAdmin )

Ez a tábla áll, 5 egyszerű mezők,

  • id: egyedi azonosítására a munkát
  • név: Lehet, hogy egy ügyfél hivatkozás, vagy akárhány más azonosítók
  • Állapot: Tudnod kell, ahol a munka van, például
    • 0: nem indult
    • 1: felkapott
    • 2: Kész
  • started_by: Ki elkezdtem a munkát? Ez nem teljesen szükséges, de szép volna. Én javaslom nyomon munkavállalók saját IP-címet a hálózat számára
  • started_at: Mikor indul a munkavállaló a munkát? A nyomkövető munkahelyek nem fejeződik be X ideig tudjuk szükségünk, hogy vegye fel a munkát, és kezdje újra egy másik feldolgozó munkás. A munkavállalók tudta megállítani feldolgozás / offline tetszőleges számú oka, áramkimaradás, összeomlás, hálózati veszteség, stb

Könnyen hogyan lehetne kiterjeszteni táblázatban néhány kiegészítő mezőt, hogy a statisztikai követés, a befejezési idő oszlopot, hogy mennyi ideig tartott a munka, egy számlálót, hogy hány munkavállaló felvette a munkát (nyilván ez inkább szükség 1), munka prioritás, a lista megy tovább és tovább. A bonyolultabb feladat forgatókönyvek lehetséges lenne meghatározni, hogy mennyi memóriát a munkavállaló számára hozzáférést kell biztosítani (és ezért csak megfelelő dolgozók), vagy akár a munkavállaló milyen típusú lenne szükség.

Lehetővé teszi, hogy adjunk néhány példát munkahelyek:

például munkahelyek

A következő táblázat ismét nagyon egyszerű megérteni, ezek munkánk rekordok. Ezek kapcsolódnak a fő munkában asztal mellett oszlop `` jobs_id. Az alkotó az ebben a táblázatban nagyon sok múlik az adatokat, hogy meg kell adnia a munkavállalóknak, lehetővé teszi, hogy egy nagyon egyszerű példát, ahol már négy oszlopot tartalmaz:

  • id: Azonosító a rekord
  • név: személy neve
  • Cím: Személy címét
  • jobs_id: a feladat azonosítóját ez a rekord kapcsolódik

A harmadik és egyben utolsó asztalon áll egy asztal eredmények, sokkal ugyanazt teszik ki Adataink asztalra, azzal a kiegészítéssel, néhány oszlopot lehet része a rekordok táblázat:

  • job_record_id: Link az eredményt a feladatot
  • Eredmény: Az eredmény adatok

... És ez minden, amire szükség van ellenőrző munkát! (Bár ez egy nagyon alap szinten) Az én esetemben vagyok arra, hogy egy másik asztalhoz, ahol az adatokat feldolgozni volt található, de ez ugyanúgy volt egy fájl, paraméterek szimulációs programot futtatni, akkor nevezd meg.

Kiválasztása egy munkát

Mint azt korábban jeleztük, a munkavállalók a dolgunkat menedzsment nekünk most, így minden meg kell tennie, hogy valóban talál munkát igénylő feldolgozása és az információk beszerzése. Hogyan csináljuk ezt? Hát vedd munkánkat kiválasztási kritériumok és keresnek állást, az SQL-én az alábbi:

  1. Tegyen meg minden munkahelyet, amelyek nem jelölt teljes, de a mi munkás és állítsa vissza őket (cseréld __ ME__ azonosítójával, legegyszerűbb lenne IP-cím):
      UPDATE `SET` `munkahely` status = 0 WHERE `status` = 1 ÉS started_by `` = __ ME__; 
  2. A mi feladatunk, kiválasztási kritériumok, jelöljön ki egy feladatot, és mondd el a rendszer, hogy ez a munkavállaló foglalkozik vele:
      UPDATE `SET` `munkahely` status = 1, started_by `` = __ ME__, started_at `` = NOW () WHERE `` status = 0, vagy
     (`Status` = 1 és a `` started_at> DATE_SUB (NOW (), intervallum X óra)) ORDER BY `id` ASC; 

    Azzal megragadta a munkahelyek még nem tértek vissza eredményeket X ideig tudjuk biztosítani, hogy minden feladat futtatása esetén a munkavállaló összeomlik, vagy megy AWOL.

  3. Következő megragad a munkahelyek részleteket majd magukat a rekordokat:
      SELECT * FROM `munkahely` WHERE `` = __ started_by ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __ JOBID__; 

Befejezésekor a munka, amit be is eredmény rekordok és jelöljük ki a teljes munkát. Ne feledje, a munkahely Suspend / Resume bármikor lehetővé teszi néhány robosztusság a script. Lehet, hogy felfüggeszti a feladat felénél frissítésével a munkát ellenőrző rendszer, így ellenőrzi a rekordok száma munkát, és a találatok számát mentette vissza a munka ellenőrzési rendszer lenne bölcs lépés.

Ezen túlmenően, miközben bemutatja, hogyan lehet ezt a munkahelyet lehet kiválasztani, és sikerült egy SQL-lekérdezés keret akkor tényleg kell referáló munkád szabályozás, hogy ha úgy dönt, hogy átvált egy webes szolgáltatás, a fájl alapú rendszer, XML , vagy bármely más Számos rendszer nem fogja befolyásolni a kód fölé.

Állás Configuration

A következő szempont annak megállapítása, a feladat nagysága és konfiguráció. Ha játszol a munkahelyek konfiguráció tudunk teremteni egy kiváló egyensúlyt a sebesség, a replikáció folyamatát, és a megbízhatóság. Vegyünk egy pár OFA forgatókönyvek:

  1. Állás hogy 1 nap minden futtatni: Ez azt jelenti, hogy a dolgozók 15 napon belül kell dolgozni minden munkát (emlékezzünk 10%-a hatalom számára az idő 2/3-a). Ez nyilvánvalóan nem bölcs konfiguráció, a feladat nagysága nem túl nagy! Lenne, hogy legalább kétszer az idő, hogy kap munkát kell feldolgozni a kezdeti munkás megy AWOL (idő, hogy vegye fel, hogy nem tért vissza következtében plusz újrafeldolgozó idő). Egy ideális azt, hogy legalább egy teljes munkát, egyszerűen törli a végén minden Hosszabb üzemszünet, hogy így tartsa meg a munkahelyeket ketyeg újra és legrosszabb esetben a munkát venne igénybe, hogy két napig folyamat első elkallódna.
  2. Foglalkoztatáshoz 1 perc futtatni: Ez azt jelenti, hogy a dolgozók körülbelül 15 percet futni minden munkát. Bár kezdetben úgy tűnik, ez ideális, kapsz további munka során feldolgozásra ebédidő, kávészünet, találkozók, stb ez a forgatókönyv teszi törzs egyéb területeire is a rendszer, és bemutatja a saját problémáit. Például, először a setup / feldolgozási idő arány fog menni jobbra lefelé, ezért elveszti a rendszer hatékonyságát. A hálózat lesz állandó folyamatos munka az információkat a különböző munkások idegesítő munkatársak, akik dong a napi munkában. Te is megy, hogy nagyobb terheket ró a munkát feldolgozó kiszolgáló mivel olyan kiadagol sok-sok apró munka rendszeresen. Végül, ebben a helyzetben, ha a szerver leáll munkát akarsz létrehozni egy hatalmas hátsó napló befejezetlen munka míg a nagyobb munkahely eljárás folytatása szerencsére tisztában azzal, hogy a munkát kiszolgáló nehézségekkel küzd.

A valóságban nem lesz egy ideális konfiguráció a hálózat beállítása, sok függ a rendelkezésre álló forrásokat fajta munka, munka átfutási idő követelményeknek, a hálózati képességek, és így tovább. Azonban néhány iránymutatást a következő lenne:

  • Méret munkahelyet úgy, hogy minden munkavállaló képes átjutni legalább 3-4 munkahelyet egy olyan időszakban, 15 óra (valószínűleg a leghosszabb készenléti idő)
  • Játssz a feladat méretének úgy, hogy a beállítási idő lesz viszonylag jelentéktelen, mint a feldolgozási idő (figyelembe véve a fenti pont).
  • Ha a munka nem fejeződött be a duplája az idő (esetleg kevesebb) azt várod, hogy a befejezéséhez feltételezni, hogy az elmúlt AWOL és elkezd feldolgozás másik munkás. Ez azt jelenti, hogy lehet várni akár háromszor a szokásos ideje van állás nélkül, hogy teljes (esetleg hosszabb ideig, ha a következő feladat sikertelen). Érdemes időt csökkenteni, de vigyázzon, hogy ne csökkenjen túl nagy, mivel lehet kezdeni kétszeres feldolgozási feladatokat rendszeresen.
  • Jobs függetlennek kell lennie a külső követelmények a lehető legnagyobb mértékben. A munka szervert, például, csak a kapcsolatot elején és végén minden munkát.
  • Soha nem telíti a hálózatot, ez két negatív hatásai, a nappali személyzet fogja találni a hálózat használatáról és frusztráló lehet a problémákat tapasztalt kapcsolat időtúllépés a probléma, hogy csak rosszabb lesz, mint átméretezi a rács.
  • Biztosítani munkahely fut a munkavállalókat. Ha munkahelyet vált, vagy túlságosan memóriaigényes lemezterület intenzív munkahelyek indul megszakítása és az egyetlen dolog, észre fogod venni, egy csepp a munkahelyek számának feldolgozása nincs valódi oka.

Az eredmények közlésekor a Job

Benyújtásakor a munka eredményeit, fontos ellenőrizni, hogy az eredményeket nem nyújtották be másik munkás, különösen, ha a jelenlegi munkavállaló a szunnyadó egy ideig.

When results are submitted ensure that the number of results matches the number of records within the job.

As stated previously, and can not be over emphasised, build fault tolerance into job retrieval and results submission. The workers can (and most likely will) go into suspend mode at the most inconvenient of times and this needs to be catered for. Also once again abstracting away your results submission will help cater for future changes to your job control system much easier to deal with.

Összegzés

In this section we have looked at what a job control server needs to do and how to get a very basic system set up. We discussed how to retrieve a job from the control system and how best to configure jobs to get the most our of your office grid system. To finish, a paragraph or two on submitting results back to the job control server was presented.

  • A job control server manages jobs and ensures that all work units are completed
  • By abstracting your job select/results submission we can change the technology of the control server without much problems
  • Configure your jobs to ensure that they are run quickly and efficiently without putting too much pressure on your network infrastructure, and without duplicating processing tasks on a regular basis.
  • Ensure that you build fault tolerance and error checking into your routines, workers can suspend and resume and the most inconvenient of times. Remember to check if results have already been submitted by another worker.

Next time

In part 3 we'll create our virtual processing machine and set up our windows machines to become idle-time workers.

Zend Framework: Fundamentals - Felülvizsgálat

A , szombat 28 november 2009 22:42

Saját munkaadó a közelmúltban fizetett egy csoportja minket a fejlesztők, hogy a Zend Framework: Alapismeretek tanfolyam, itt fogom összefoglalni gondolataimat és vélemények a kurzus mások számára. Azok számára, akik időt takarít meg, itt az én összefoglaló:

A fejlesztők számára, akik még nem volt ideje, hogy nézd meg a Zend Framework a tanfolyam (Zend Framework: Fundamentals) kínál egy jó átfogó képet a keret bevezetésével, hogy a kulcsfontosságú területeken, és amely elegendő információval ahhoz, hogy folytassa. Azok számára, akik töltött időt nézi a keretbe, majd egy vagy két oktató a tanfolyam nem ad túl.

Háttér

Voltam PHP fejlesztő körülbelül 5-6 év, és már kezdett dolgozni a Zend Framework egy komponens alapján az elmúlt 6 hónapban. Már kifejlesztett és / vagy fejlesztő volt egy pár kis Zend Framework MVC sites. Őszinte leszek, én még nem volt egy hatalmas expozíció más keretek között egy kódolási szempontból, de még töltött néhány óra kutatja a projekt weboldalak és értékelése them. A keret és a közösségi környező Zend Framework elég izgalmas és úgy tűnik, hogy hatalmas lehetőség, ahol tart.

A tanfolyamról

A tanfolyam során leszállított 9 óra 2 WebEx ülés (egy 10 perces szünet a közepén). Az idő megy el megy keresztül egy diasorozatot biztosított a Zend a vitát bármikor. Használhatja a mikrofont, hogy beszéljen az oktató, de hogy őszinte legyek én nem látok senkit használjon mást, mint a chat ablakot. Emellett VMWare Ubuntu gép, feltéve, hogy van példa kódot, és létrehozott egy projektet próbaverzióját Zend Studio. A tanfolyam vezetője beszél a résztvevők akár több mint egy integrált VoIP megoldás, vagy hívhatja a segítségével egy a sok közül világszerte behívó számok.

A tanfolyam ideje alatt az anyag tartalmaz egy rövid áttekintést a keretrendszer és az MVC minta címsor előtt egy minta alkalmazás vendégkönyv. A vita bizonyította rendszertöltőről, Zend_Application, Db Asztalok, adatbázis-elérés, Forms, szűrés, ACL, ellenőrzése, stb, stb Alapvetően amely kiterjed az összes téma megköveteli azt, hogy egy alap oldalon fut össze minden alkalommal így az eszközök Menj, és fejlettebb keretében (bár ez tette összeget "Lásd a honlap az idõ nagy részét).

Idő áll a kód fel néhány példát, és dolgozzon ki a "vendégkönyv" és egyszerű "wiki" alkalmazást. Személy szerint úgy éreztem, hogy biztosítja a kódot, vagy minden alkalmazást, majd azt kérdezi tőlünk a mi lényegében egy példánya mellett nem igazán egy jó tanulási tapasztalat. Azt szerette volna, hogy dolgozzon ki egy hasonló alkalmazás, de nem azonos. A példa alkalmazás azzal a haszonnal jár, amelynek útmutató utal. Másik épület az alkalmazások a semmiből, a demonstrátor lenne az esetleg vezetett, hogy több kérdést, hogy miért és hogyan, ezáltal jobban megértsék a keret, elvégre akkor nézz fel sajátosságairól a tanfolyam után.

Az utolsó előadás állt dolgozik a wiki alkalmazás segítségével / útmutatást az oktató. Miután a kurzus visszajelzéseket vették azt hangsúlyozta több alkalommal át a kurzus, hogy a Zend visszajelzést nagyon komolyan veszi, sőt látszólag a mi változata a tanfolyam egészen új. Néhány más fejlesztők a vállalat is részt vesz a tanfolyam hamarosan, így érdekes lesz látni, ha ez megtörtént.

A tanfolyam stílusa informális, engedélyezett visszacsatolás és a résztvevők közötti együttműködés és az oktató. A tanfolyam vezetője volt, barátságos, megközelíthető (e-mail címeket is osztotta a kérdésekre), és bár előadása a diák volt, mintha egy kicsit remegő teljes hatáskörrel keretében. Ő volt, aki jól használta a keretet rendszeresen helyett valakit, aki tanítja, hogy megtanítsa a kurzus, tetszett a "valódi világ" tapasztalata e tekintetben.

Összességében Feeling

Bizonyos szempontból találtam folyamán időpocsékolás, más esetekben nagyon hasznos volt. Remélem megkapod az okom egész világosan, és talán valamennyire elgondolkoztató vagy hasznos visszajelzést (tudva, nekem ez nem valószínű!).

Ami engem illet ez a tanfolyam célja az volt, túl alacsony. Miután átesett a gyorstalpaló, olvasd el Rob Allen Zend Framework in Action, és dolgozott együtt a keret egy kicsit én nem igazán kap semmit túl sok. Szeretném az tetszett a tanfolyam, hogy vegye fel a végén a kezdőknek és a további készségek fejlesztésére.

Igaz, a kurzus címe nem egyértelműen kimondják, "a Zend Framework: Fundamentals", és ebből a szempontból a kurzus eléri, amit pedig éppen. További tagjai a fejlesztői csapat, hogy még nem töltötte az időt vizsgálja a keret kész minden ülés lelkesedéssel és kérdések, amelyek nagyon jó volt látni.

Nem volt minden veszve, jó volt, hogy időt megerősítve az alapvető részleteket a keret és kap feltenni néhány kérdést a területeken, ahol nem voltam 100%. Azt is ideje, hogy kaptam leülni minden nap és arra gondolok, kódolás segítségével a keret és a jövőbeli projektek, amit én nem volt képes megtenni egyébként (tudod képzelni a cég beleegyezett, hogy? :)). Végül, de nem utolsósorban akkor is kap egy szép bizonyítványt Zend mondani, hogy részt vettek a kurzus (bár e-mailben).

Zend Framework tanúsítás

Ez volt az egyik kérdés, hogy jöttek szóba folyamán, előkészíti lenne nekem a tanúsítás? A gyorsan, egyszerűen egy hangos sz. A kurzus oktatója volt egészen világos, hogy azzal a további tanácsokat, hogy a tanúsítás nem árt használni a keretet egy napról napra, és úgy érzi, nagyon kényelmes és magabiztos annak használatát és módszereket.

Összegzés

Mivel minden, amit írtam fent, én mindent össze két egyszerű pontokba szedve:

  • Új Zend Framework: Ez természetesen nem pontosan az, amit elvárhatunk, hogy ad egy szép bemutató keretében, és egy jó földelés az alapokat, ahonnan meg lehet építeni. A kurzus úgy tűnik, hogy érdeklődést és lelkesedést a keret között fejlesztők.
  • Használt a Zend Framework: Amíg jó volt, hogy megerősítse bizonyos alapjait éreztem az időt, erőfeszítést és forrásokat, hogy folyamán lehetett volna jobb a töltött máshol. Ez lesz szép, hogy see Zend létre új, magasabb szintű irányról a fejlesztők a következő szintre - legalábbis a standard tanúsítási és azon túl. Mert hogy én iratkozzon fel azonnal.

Nevek Egyesült Királyság Directory és a Facebook alkalmazás

A , Április 10. Péntek 2009 9:33 am

Az egyik vicces dolog, amit vettek részt, miközben dolgozik Tracesmart a könyvtár nevét . Alapvetően mi volt az a hatalmas információs adatbázis, és előhúzott egy nagy halom statisztikák különböző neveken.

A folyamat lényege egy nagy SEO erőfeszítést annak érdekében, hogy több forgalmat a helyszínen, de azt is előírja, néhány érdekes információk és statisztikák nevét.

Íme egy példa a nevemet Lloyd Watkin , vagy azt hiszem, pontosabban Steven Watkin . Vegyünk egy perc alatt keresd ki a neved a Tracesmart helyszínen, talán érdekes lehet ;)

Már nevet is kapott statisztikai adatok a könyvtár nevét oldal, amely elmondja, hogy milyen nevet is keresett, és hogy milyen régen. Az viszont érdekes, hogy híres emberek nevét repülnek fel a statisztika, amikor megjelennek a hírekben. Egy friss példa erre, hogy a Liam Neeson felesége, aki meghalt egy sí baleset nemrég, bár természetesen az emberek nem egészen pontos a helyesírás (ezért a rengeteg találat ezt a nevet) - Liam Nilson .

Facebook alkalmazás

Miután a könyvtár nevét hozták létre állítunk létrehozásáról a Facebook alkalmazás , amit duely neve " My Name ". A Facebook alkalmazás kiterjesztése a könyvtár nevét és mintegy további statisztikák. Annak érdekében, hogy adja hozzá a nevét a könyvtárban Facebook látogasson el:

http://apps.facebook.com/my-name/













Panoráma Theme Themocracy

2 online látogató jelenleg
1 guests, 1 bots, 0 members
Max visitors today: 14 at 08:21 am UTC
This month: 56 at 25-04-2012 08:41 am UTC
This year: 69 at 27-02-2012 09:56 am UTC
All time: 130 at 28-03-2011 10:40 pm UTC