Posts tagged: tietokanta

Toimisto Grid Computing Virtual ympäristöissä - Osa 4

Kun perjantai 04 joulukuu 2009 23:59

Johdanto

Olen töissä yrityksessä, jossa voimme suorittaa useita eräajot käsittely miljoonia levyjä tietoja joka päivä, ja olen ajatellut viime aikoina kaikki koneet, istua joka päivä tekemättä mitään useita tunteja. Eikö olisi hyvä, jos voisimme käyttää näitä koneita vahvistamaan prosessointitehoa järjestelmiemme? Tämän joukon artikkeleita aion tarkastella mahdollisia hyötyjä palkata toimiston verkon avulla virtualisoituja ympäristöissä.

In osa 3 loimme virtuaalinen jenkäsittelykoneeseen ja perusti Windows-koneissa tulee idle-aikaisia ​​työntekijöitä.

Running uusin koodi

Väistämättä luomisen jälkeen työntekijät liiketoiminnan logiikka muuttuu, vikoja löytyy, nopeammin tehokkaampia koodi tuotetaan siis jättäisit työntekijät istuivat käsittelee tietoja käyttämällä vanhaa haiseva koodia . Kuinka sitten voimme varmistaa, että olemme aina käytössä uusin ja suurin versio meidän käsittelyn skriptejä?

On olemassa muutamia erittäin helppo yksinkertaisia ​​tapoja voisimme tehdä tämän temppu on kuitenkin vähentää prosessointitehoa ja verkkoliikenteen tämän saavuttamisessa. Aloitetaan yksinkertaisimmalla ratkaisuja ja parantaa sitä hitaasti muutaman toistojen.

Ensimmäinen menetelmä olisi yksinkertaisesti yhdistää työmme Control Server (via samba, FTP, tai vastaava) ja vedä alas uusimman version koodin. Ei kovin tehokas, mutta se tekee työtä. Lets improve tästä hieman, miten luomisesta rsync käsikirjoituksen ja käyttää sitä aina vaan? Vaihtoehtoisesti entä laskemisesta uusimmista käsittely komentosarjan kumoukselliseen tarkkailun koodin ensin ja sitten vain päivittämässä koodi jokaiseen run ( svn update )?

Lopulta voimme päätyä bash script (kutsutaan cron 10 minuutin välein), joka näyttää yhtä yksinkertaista kuin tämä:

  #! / Bin / sh
 jos ps ax | grep-v grep | grep php > / dev / null
 sitten
     echo "Job käsittelee parhaillaan, exit"
 muu
     echo "Työ ei ole käynnissä, käynnistä nyt"
     cd / polku / / työ / kopiointi
     svn update
     php yourJobProcessingScript.php
 fi 

Nyt voimme olla varmoja, että jokainen ajaa olemme ehdottomasti käytössä uusimmat koodia. Pyrimme varmistamaan tämän Päivitämme koodareiden joka kerta teemme aikavälillä ja vähentää verkkoliikennettä vain siirtämällä tiedoston eroja meidän verkkoon.

Minun esittelyn setup, tein juuri niin kuin yllä. Subversion on asennettu työni käsittelystä palvelimen ja olen yksinkertaisesti vetänyt viimeisin koodi "työntekijän" sivukonttori käyttää "svn update". Lisäsin myös versionumero tag minun käsittelyyn skripti, joka palautettiin tietokantaan osana tulosten tuottoa. Näin saatoin nähdä, että minun koodia päivittyy joka kerta olen kopioinut minun trunk osaksi työntekijän haara eli että olin ehdottomasti käynnissä uusin käsittelyn käsikirjoituksen.

Uusimman tiedon

Jos työsi käsittelyssä hyödynnetään tietolähteiden sitten jossain vaiheessa nämä tullaan päivitetään liian. Jos soitat tietolähteet erittäin harvoin perusta aiot hukuttaa verkon liikennettä heti kun työntekijät alkavat käynnissä tuo kaiken pysähtynyt. Omasta ratkaisu, päätin, että haluaisin siirtää minun tietolähteiden ympäriinsä minun VM.

Pidä olet hevosia sinne! Entä jos tietolähteet ovat valtavat? No tämä on todellakin kyse siitä, kuinka paljon tietoa me puhumme? Se voi olla kustannustehokkaampaa asentaa ylimääräinen suurempi kiintolevy jokaiseen koneeseen kuin ostaa lisäkäsittely palvelimelle. Tämä on kysymys budjetin ja on jopa yrityksen päättää. Se ehkä että tietolähteet ovat niin suuria, että vain mahdottomalta pitää, että tietojen määrää oman työntekijän koneissa. Tällöin mitä tekisit? No voisimme tarkastella soittaa paikalliseen tiedot palvelimelle, mutta tämä saattaa aiheuttaa ongelmia verkkoon. Tällöin verkkoon, kuten tämä voi olla epärealistista sisällyttää toimistoympäristöön. Voi myös olla, että voit tutkia vaihtoehtoisia käynnissä strategioihin, esimerkiksi vain soittamalla työntekijöiden välillä kaksikymmentä ja 6am joka ilta ja / tai kuristus tietolähteen pyyntöjä.

Liikettä Sanotaan meidän tietolähteitä määrä 100GB tietoja. No kyllä ​​se on aika vähän tietoa liikkua verkon päivityksen. Miten voimme varmistaa, että meillä on uusin kopio tiedoista tässä tapauksessa? Rsync on mahdollista, mutta henkilökohtaisesti uskon ajamalla oman uusimmat tietolähteen työsi käsittelystä palvelimen ja määrittää tämän mestari lisääntymään (ja mukavan pitkä bin log) voi olla tapa mennä:

replikointi Asettamalla kukin oman työntekijöille jopa niin orja työnohjausta palvelimen päivityksiä tietolähteisiin tulee valua alas hienosti oltava työntekijöiden ilman valtava kasvu verkon toimintaa (eli jos teet valtava tietojen päivityksen ja kaikki työntekijät potkia kerralla). Tämä on etuja rsync että et saa pitkän tauon ennen kunkin työn, kuten tietokannan päivityksistä, mysql daemon teidän työntekijä jatkuvasti päivittää tietoja, kun käsittely jatkuu.

Näin voin asettaa esittelyn palvelimelle. Voit määrittää replikoinnin seurasin oppaan MySQL päällä ( perustaminen replikointi ) ja 20 minuutissa sain inital työntekijä jäljittelyyn työnohjausta palvelimet aineisto. Kutakin ylimääräistä työntekijää replikointi asetukset ja prosessi toimi aina, kun VM oli kopioitu.

Yhteenveto

Tässä osassa artikkelissa olemme tarkastelleet, miten helppoa ja kivutonta se pitää koodimerkkien tasalla using rsync tai subverion (SVN), tehdä työtä ja vähentää verkkoliikennettä samalla time. Keskustelimme myös siitä, kuinka pitää tietolähteen tiedot ajan tasalla antamalla sen valua alas kullekin työntekijöitä. Näin me ala varmistaa, että me pysyä ansaintalogiikka ja tietoa toimistossamme verkkoon. Tulee tietenkin lukemattomia vaihtoehtoja hoitaa näitä tehtäviä, mutta tässä kaksi yksinkertaisia ​​esimerkkejä siitä, miten helppoa ratkaisua ei saada.

Seuraavalla kerralla

Vuoden viimeinen tämän sarjan osaa, osuvasti nimetty osa 5 , kerromme mielellämme käyttöön kyseisen järjestelmän. Minä tiivistää, mitä on oppinut ja mitä olen onnistunut luomaan.

Toimisto Grid Computing Virtual ympäristöissä - Osa 1

Kun perjantai 04 joulukuu 2009 23:23

Johdanto

Olen töissä yrityksessä, jossa voimme suorittaa useita eräajot käsittely miljoonia levyjä tietoja joka päivä, ja olen ajatellut viime aikoina kaikki koneet, istua joka päivä tekemättä mitään useita tunteja. Eikö olisi hyvä, jos voisimme käyttää näitä koneita vahvistamaan prosessointitehoa järjestelmiemme? Tämän joukon artikkeleita aion tarkastella mahdollisia hyötyjä palkata toimiston verkon avulla virtualisoituja ympäristöissä.

Koska PHP kehittäjä aion käyttää työkaluja, joita käytän joka päivä eli Linux, MySQL , PHP, VirtualBox ja Subversion (SVN). Kuitenkin Toivon tämän oppaan sopeutuvat muita kieliä ja tekniikoita yhtä hyvin.

Ratkaisu annan tulee hyvin perustuu löyhästi tyypin käsittelyn olimme täytyy saavuttaa mutta tämä voi olla totta läpi koko artikkeli tulen muuttaa asioita yksinkertaisuuden, tai tuottamaan mielenkiintoisempia käyttötilanteissa.

Nämä virtualisoitua ympäristöt toimivat Windows-koneilla, koska tämä on mitä suurin toimistojen juosta. Käsittely että konttorikoneiden eivät saisi häiritä toimihenkilöiden näitä koneita, pitäisi vaadi huoltoa kone, ja helposti käyttöönotettavia uusia koneita kun ne tulevat saataville. Myös uusia virtuaalikoneita ei vaadi mitään lisäasetuksia, koska tämä vähentää huomattavasti skaalautuvuutta ja helppous, jolla verkkoon voidaan laajentaa.

Miksi käyttöönotto Office Computing Grid?

Ensinnäkin voi olla ajattelematta, miksi ei vain käyttää cloud computing resursseja, kuten Amazon EC2 foorumi ? Hyvin syistä voi olla useita, esimerkiksi:

  • Et antaa tiettyjä tietoja cloud computing ympäristö
  • Et voi laittaa tietyt tiedot cloud computing ympäristön oikeudellisista syistä (esim. tiedot lähtevät maasta), mahdollisesti oikeudellisista syistä, kuten NHS kirjaa.
  • Haluat säilyttää käsittely yksiköissä lähellä ja täysin hallita laitteisto liian
  • Sinulla ei ole hankerahoista ajaa pilvi tapauksissa
  • Toimistossasi ei ole yhteyttä Internetiin, ja siksi se ei ole mahdollista käyttää pilvi voimavara
  • Et pidä sadetta, pilvet viittaavat sadetta, joten sinun pitää hyvin poissa

Olen varma, lista voisi jatkua, mutta mielestäni se riittää nyt.

Edut Office Computing Grid

No, antaa tehdä joitakin matematiikka (ja aidon fysiikan tyyliin antaa tehdä joitakin laajoja oletuksia). Kuvittele on iso lihaksikas käsittely palvelin käyttää 100 työpaikkaa päivässä. Teidän toimiston sinulla on 50 koneita, jotka ovat lepotilassa 16 tuntia päivässä, jokainen näistä koneista on 10% niin voimakas kuin teidän lihaksikas käsittelyn katkaista. (Kaikki tulokset täällä pyöristetty aliarvioida enemmän tehoa).

Joten, 1 kone * 10% teho * 2/3 kertaa = 0,067 eli 1 työpöydän käsittely tyhjäkäyntiin voisi käsitellä 6 täyttä tehtävää päivässä.

Jos nyt skaalata tästä ylöspäin kestää 15 idle pöytäkoneet käsitellä mahdollisimman monta tehtävää päivässä pääasiakirjana käsittelyn palvelin tekee.

Joten meidän teeskennellä toimistossa 50 konetta voisimme kasvattaa prosessoritehoa alkaen 1 palvelin jopa 4 täyttä käsittelyyn palvelimia, tai voisimme käsitellä 400 työpaikkaa päivässä sijasta 100.

Huomaa, ilman investointeja uusiin laitteisto yrityksenne on juuri lisännyt erän jalostuskapasiteettia 4 kertaa! Mahdollisesti aiot lisätä virrankulutusta, mutta useimmissa toimistoissa olen ollut koneita yleensä jää yöksi tapauksessa, jotta voisit nähdä tämä vihreä aloite.

Muita etuja myös sitä, että investoinnit uuteen (tai päivitetty) käsittely palvelimia voi viivästyä, jos toimiston koneet ovat riittävät ja että voit parantaa voimaa oman toimiston koneiden toimiston verkkoon voimistuu automaattisesti.

Technologies

Mitä tarvitset? (Tai oikeammin mitä käytin):

  • Idle toimistolaitteet (minun tapauksessani vara vanha Windows XP laptop)
  • VirtualBox (tai muun virtualisoinnista client-ohjelmisto)
  • Virtuaalikoneen PHP, mySQL running käynnissä leikata alas OS, soitan nämä minun Limp palvelimet :)
  • Työpaikat juosta
  • Job palvelin (voi olla toinen virtuaalikoneen jonnekin)

Tyypillisiä Työpaikat

Erilaisia ​​töitä, että tämä järjestelmä on suunniteltu toimimaan on seuraava:

  • Järjestelmän saa luettelon tiedot, joihin meidän on vastattava ja palauttaa tulokset
  • Vastaavat on tarkistettava / haku useita (melko staattiset) tietolähteitä
  • Tulokset tietolähteistä saattaa edellyttää lisää validointi, yhdistäminen, tarkastaminen uusia tietolähteitä vastauksena tuloksia
  • Tiedot palautetaan yhteensopivat kirjaa, täysin validoitu ja käsitelty
  • Jokainen tietue sisällä työ on riippumaton muusta

Joten periaatteessa me tarkastelemme ajossa olevat työt, jotka vaativat seosta tietokanta haut ja jotkut numerotoimituksiksi, melko tyypillinen skenaarion liiketoimintaympäristössä.

Grid ratkaisut eivät ole ainoastaan ​​edullinen käsiteltäessä työpaikkoja tätä tyyppiä. Periaatteessa mikä tahansa prosessi, joka voidaan jakaa itsenäisiä yksiköitä voidaan ajaa rinnakkain. Katso tämä wikipedia esimerkkejä ja lisätietoja: Grid Computing , mutta pari tunnetuimpia esimerkkejä ovat Seti @ Home ja BIONC . On puitteita käynnissä tietojenkäsittely verkkoihin, ja nämä ovat hyvin arvoinen.

Mitä voimme saavuttaa?

Loppuun mennessä näiden artiklojen toivon mukaan käyttöönottokustannukset toimiston verkkoon ei tarvitse olla valtavan kallista ja aikaa vievää. Aion keskustella:

  • Asettaminen työn ohjausjärjestelmä, työn kokoonpano
  • Luominen asianmukainen käsittely virtuaalikone
  • How to setup järjestelmä windows koneella
  • Varmistaminen käytät uusinta koodia ja tietoja
  • Käyttöönotto ja benchmarking
  • Katse eteenpäin

Tulen rakennus (ok rakensin, niin kirjoitin tämän) esimerkkisovellus testata käsitteitä paikalliselle koneelle Windows XP ja minun "GridMachine-virtuaalikone. Työni Control Server tulee olemaan tärkein kone, joka toimii Fedora 11 .

Tämä ei mitenkään tarkoitus osoittaa täysin toimiva vankka järjestelmä, se merkitsi enemmän mielenosoituksen ja keskustella siitä, että nämä asiat voidaan saavuttaa kohtuullisen lyhyessä ajassa ja vähäisin kustannuksin. Voit vapaasti lähettää minulle kommentteja, korjauksia tai parannuksia ja teen parhaani pitää tämän artikkelin päivitetään vastaamaan.

Seuraavalla kerralla

Kun osa 2 Aloitan tarkastelemalla työn valvonta ja katsoa miten työpaikat tulisi määrittää, jotta saavutetaan mahdollisimman suuren osan käsittelyn ja samalla varmistaa, että jokainen työ on käsitelty ilman epäonnistuvat.

Toimisto Grid Computing Virtual ympäristöissä - Osa 2

Kun perjantai 04 joulukuu 2009 23:23

Johdanto

Olen töissä yrityksessä, jossa voimme suorittaa useita eräajot käsittely miljoonia levyjä tietoja joka päivä, ja olen ajatellut viime aikoina kaikki koneet, istua joka päivä tekemättä mitään useita tunteja. Eikö olisi hyvä, jos voisimme käyttää näitä koneita vahvistamaan prosessointitehoa järjestelmiemme? Tämän joukon artikkeleita aion tarkastella mahdollisia hyötyjä palkata toimiston verkon avulla virtualisoituja ympäristöissä.

Vuonna Osa 1 annoin yleiskuvan järjestelmästä ja teknologiat Aion käyttää sekä käsitellään joitakin mahdollisia syitä, miksi haluaisi luoda toimiston verkkoon.

Työn hallinta

Jos aiot olla käynnissä työpaikkoja sitten olet menossa on jotenkin hallita niitä. Työsi ohjausjärjestelmä (työssäsi palvelimella) on todella harkittu ennen kuin edes yrität käyttää toimiston verkkoon. Eli ensinnäkin, mitä tehtäviä työ ohjausjärjestelmä:

  • Ojentaa työpaikat pyynnöstä työntekijöitä
  • Kerro työntekijät millaisia ​​työpaikkoja juosta
  • Track työpaikkaa
  • Varmista, että työpaikkoja ajetaan vain kerran
  • Tarjoa työtietojen työntekijöille tai ainakin kertoa heille mistä sitä saa

Lisäksi järjestelmän tulee olla laajennettavissa, ratkaisu, joka toimii nyt samaan koteloon voidaan ulottaa suorittaa useita erilaisia ​​työpaikkoja kuin liiketoiminnan näkee arvokkaaksi verkkoon ratkaisu. Esimerkiksi työpaikkoja voi saada painopisteitä, enemmän kuin yksi työpaikka tyyppi voi olla (siis useita koodia emäkset), lopulta ehkä jopa käyttää useita eri työntekijöiden koneita, jotka on optimoitu kunkin työn (vaikka se ei siirrä pois geneerinen työntekijä "idea). Yritä aina ajatella tulevaisuutta kehitettäessä järjestelmiä, lyhyen aikavälin visio voi johtaa pitkällä aikavälillä turhautumista ja lisää kehitysaikaa.

Job Server

Tulemme tarvitsemaan jonnekin hillitsemään työpaikkoja, tämän pitäisi olla ainoa järjestelmä teidän ruudukko, jossa on kiinteä Resource Locator olla että IP-osoite, palvelimen nimi, osoite (käyttämällä sisäisiä DNS), jne. Tämä johtuu työntekijöiden täytyy tietää, mistä etsiä työtä, työntekijöitä täytyy löytää työpaikan ohjausjärjestelmä (ei työn ohjausjärjestelmä löytää työntekijöitä).

Työ-palvelin itsessään ei todellakaan ole monimutkainen tehtävä (vuonna perusjärjestelmän muutenkin), se tarvitsee tallentaa luetteloa työpaikoista, ojentaa työpaikkoja, saada tuloksia, ja sen jälkeen tallentaa ne myöhemminkin. Miten nämä osat (esim. "ojentaa työpaikkoja") on määritelty voi olla hyvin yksinkertainen. Myöhemmin voimme laajentaa järjestelmä koskemaan hallintaliittymä lisätä, muokata, poistaa, peruuttaa työpaikkoja, mutta tämä on kuin harjoitus.

Ei ole mitään syytä niin että työsi palvelin ei voinut olla virtuaalikoneen käynnissä omassa tärkein käsittelystä palvelin kunhan se ei pääse virtaamaan liikaa resursseja siitä. Työ-palvelin on kuitenkin se tarvitsee korkean käytettävyyden, jos se menee alas perjantai-iltana aiot menettää koko viikonlopun jalostus, mahdollisesti maksaa sinulle pari viikkoa arvosta käsittelyajan (verrattuna ensisijaiseen käsittelyyn palvelin yksin) . Haluat ehkä harkitsemaan työsi palvelimen kuormitusta tasapainoisen ympäristön korkean käytettävyyden.

Basic Setup

Perusasetukset työmme palvelimelle muodostuu mitä soitan eräs Limp palvelimia (eli Li Nux, m ySql, P HP). Koodin suorittamisen thea työntekijöistä todella selvittää, mitä työtä se voi hoitaa vuorovaikutuksessa työpaikkojen ohjausjärjestelmän tietokantoihin. Myöhemmin voisimme luoda verkkopalvelun ja itse ojentaa työpaikkoja sen sijaan työntekijät tekevät kovaa työtä itse, mutta nyt jatkamme käyttää KISS periaate (Keep It Simple, Stupid!).

Joten avulla luodaan kolme mySQL taulukoita käsitellä työpaikkoja. Nämä ovat `työpaikkoja`, `jobRecords`, ja `jobResults`.

työpaikkoja pöytä Täällä Käytän SQL Buddy hyvin vähän vaihtoehtoja phpMyAdmin vain koska sen helpompi asentaa CentOS (muille katso: 10 Great vaihtoehtoja phpMyAdmin )

Tämä taulukko on 5 yksinkertaisia ​​kenttiä,

  • id: tunnistaa työ
  • name: Voisi olla asiakasnumerosi, tai useita muita tunnisteita
  • Tila: Sinun täytyy tietää, missä työ on, esim.
    • 0: ei alkanut
    • 1: Noudetaan
    • 2: Päättyneet
  • started_by: Kuka alkoi tehdä työtä? Tämä ei ole täysin pakollista, mutta on hyvä olla. Haluan ehdottaa seurata työntekijöiden IP-osoitteen verkon
  • started_at: Milloin työntekijä aloittaa työn? Seuraamalla työpaikkoja, jotka eivät ole päätökseen X ajan tiedämme, että meidän poimia työn uudelleen ja aloittaa käsittelyn toisen työntekijän. Työntekijät voisivat lopettaa käsittelyn / go offline mahdollisesti useita syitä, sähkökatko, crash, verkko menetys jne.

On helppo miten tämä taulukko voitaisiin jatkaa muutamalla lisäkenttiä jotta tilastojen seuranta, lopetusaika sarakkeesta, miten kauan työ kesti, laskuri, kuinka monta työntekijää piristyi työ (ilmeisesti tämä tarvitsee yleensä 1), työ ensisijaisesti lista voi jatkua loputtomiin. Vuonna monimutkaisempi työ skenaariot olisi mahdollista määrittää, kuinka paljon muistia työntekijällä olisi pääsy (ja siksi käyttää vain sopivaa työntekijää), tai jopa millainen työntekijä olisi tarpeen.

Lets lisätään muutama esimerkki työpaikkoja:

Esimerkiksi työpaikkaa

Seuraavassa taulukossa on taas melko helppo ymmärtää, nämä ovat meidän tehtävämme kirjaa. Ne liittyvät pääasiassa työpaikkojen taulukon sarake `jobs_id`. Muodostavat tämän taulukon riippuu paljon tietoja, joita et tarvitse toimittaa teidän työntekijöitä, antaa tehdä hyvin yksinkertainen esimerkki, jossa meillä on neljä saraketta:

  • id: tunnus ennätys
  • nimi: Henkilön nimi
  • osoite: Henkilön osoite
  • jobs_id: työn tunnusta, että tämä levy liittyy

Kolmas ja viimeinen taulukko koostuu tulosten taulukon, se on paljon samaa muodostavat kuin tietomme pöytä, ja lisäämällä tiettyjä palstoja voisi olla osa Records taulukon:

  • job_record_id: Linkki tuloksen tehtävätaulukko
  • Tulos: tulostiedot

... Ja siinä kaikki mitä tarvitset työnohjausta! (Joskin aivan perustasolla) Omalla kohdallani olen todennut toiseen pöytään, jossa tietoni käsitellä sijaitsi, mutta voisi yhtä hyvin tehty tiedosto, parametrit suorittaa simulaatio koodia, you name it.

Valitseminen työpaikka

Kuten aiemmin on todettu, työntekijät teemme työn hallintaan meille nyt, niin kaikki meidän todella on löytää työpaikka, joka vaatii käsittelyä ja saada tietoa. Miten teemme tämän? No valita työtämme valintaperusteet ja etsiä työpaikkoja, SQL tein seuraavat:

  1. Ota kaikki työpaikat, joita ei ole merkitty täydellisiä, mutta meidän työntekijöiden ja palauttaa ne (korvaa __ ME__ kanssa tunnisteen, helpointa olisi IP-osoite):
      UPDATE `työpaikkoja` SET `status` = 0 WHERE `status` = 1 JA `started_by` = __ ME__; 
  2. Käyttämällä meidän tehtävämme valintaperusteet, valitse työ ja kerro ohjausjärjestelmä, tämä työntekijä käsittelee sitä:
      UPDATE `työpaikkoja` SET `status` = 1, `started_by` = __ ME__, `started_at` = NOW () WHERE `asema` = 0 tai
     (`Status` = 1 JA `started_at`> DATE_SUB (NYT (), ALUE X AIKA)) ORDER BY `id` ASC; 

    Tarttumalla työpaikat, joita ei palauteta tuloksia X ajassa voimme varmistaa, että kaikki työpaikat ovat käytössä jos työntekijä kaatuu tai menee luvattomalla lomalla.

  3. Seuraavaksi ota työpaikat yksityiskohdat jälkeen Records itse:
      SELECT * FROM `työpaikkoja` WHERE `started_by` = __ ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __ JOBID__; 

Päätyttyä työpaikka lisäämme tuloksemme kirjaa ja merkitä työtä valmiiksi. Muista, kun työpaikkoja voi keskeyttää / jatkaa milloin tahansa sallia tietty kestävyydestä script. Voi olla, että tehtävä keskeyttää puolivälissä päivittää työn ohjausjärjestelmä, niin tarkkailun Tietueiden määrän työtä ja tulosten määrä tallentaa ne takaisin työn ohjausjärjestelmä olisi viisasta.

Lisäksi, vaikka tämä osoittaa, miten työpaikkoja voidaan valita ja hallita SQL-kyselyn runko sinun pitäisi oikeastaan ​​hahmotuskykyyn oman työn hallintaa niin, että jos päätät siirtyä käyttämään verkkopalvelu, tiedostopohjaisesta, XML -tai muita lukuisia järjestelmiä, se ei vaikuta koodia sen yläpuolella.

Job Configuration

Seuraava huomioon otettava näkökohta on työn koon ja kokoonpanon. Pelaamalla työpaikkojen kokoonpano voimme löytää hyvä tasapaino nopeuden, prosessin toistettavuus ja luotettavuus. Ota pari OFA skenaarioita:

  1. Työpaikat kestää 1 päivästä joka ajaa: Tämä tarkoittaa, että työntekijöitä on 15 päivää aikaa käsitellä kunkin työpaikan (muista 10% tehon 2/3rds ajasta). Tämä ei selvästikään ole viisas kokoonpano, työsi koko on liian iso! Se veisi ainakin kaksinkertainen aika saada suorittaa työ tulisi ensimmäinen työntekijä menee luvattomalla lomalla (aika poimia että se ei ole palannut tulos plus uudelleenkäsittely aikaa). Ihanteellisessa sinun on ainakin yksi täysi työ helppo tyhjentää jokaisen pitkän vapaan aikana, näin pidät työpaikkaa tikittää yli ja pahimmassa tapauksessa työ kestäisi kaksi päivää prosessia pitäisi ensin mennä puuttuu.
  2. Työpaikat kestää 1 minuutti juosta: Tämä tarkoittaa, että työntekijät kestää noin 15 minuuttia suorittaa kunkin työn. Vaikka tämä voi aluksi tuntua ihanteellinen, saat lisätyöstä käsittely lounasaikaan, kahvitauot, kokoukset jne. tämä skenaario asettaa paineita myös muiden järjestelmän ja tuo omat ongelmansa. Ensinnäkin esimerkiksi asennuksessa / käsittelyaika suhde on menossa alas, siis menettää järjestelmän tehokkuutta. Verkko tulee olemaan jatkuvasti streaming työpaikka tietoja eri työntekijöiden turhauttavaa henkilöstölle dong heidän päivittäisessä työssä. Olet myös menossa kohdistuu enemmän rasitusta työsi käsittelystä palvelimella, koska se on jaella paljon ja paljon pieniä teoksia säännöllisesti. Lisäksi tässä tilanteessa, jos työsi palvelin menee alas aiot luoda valtava takaisin lokin keskeneräinen työ taas isompi työpaikkaa Voitaisiin jatkaa käsittelyä blissfully tiedä, että työ-palvelin oli vaikeuksia.

Todellisuudessa ei tule yksi ideaalinen kokoonpano oman verkon asetukset, paljon riippuu käytettävissä olevien resurssien kaikenlainen työssä, työn läpimenoaika vaatimukset, verkkotoiminnot, ja niin edelleen. Jotkin suuntaviivat olisivat:

  • Koko työpaikkoja jotta jokainen työntekijä voi saada läpi ainakin 3-4 työpaikkaa 15 tunnin ajan (pisin todennäköinen vapaan ajan)
  • Pelaa työn koko, niin että asennuksen aikana tulee melko vähäinen verrattuna käsittelyaika (ottaen huomioon edellä kohta).
  • Jos työ ei ole täydellinen kaksinkertainen aika (ehkä vähemmän) odotatte sitä täydentää sitä olettaa, että sen mennyt luvattomalla lomalla ja aloittaa sen käsittelyn toisen työntekijän. Tämä tarkoittaa sitä, saatat joutua odottamaan jopa kolme kertaa tavanomaiselta työtä sen loppuun (mahdollisesti pidempään, jos myöhemmin työ epäonnistuu). Voit vähentää tällä kertaa, mutta varo vähentää sitä liikaa, sillä saatat alkaa päällekkäistä käsittelyä tehtäviä säännöllisesti.
  • Työpaikkoja tulisi olla riippumattomia ulkopuolella vaatimusten niin paljon kuin mahdollista. Työ-palvelin, esimerkiksi vain ottaa yhteyttä alussa ja lopussa jokainen työpaikka.
  • Älä kyllästetty verkko, tällä on kaksi kielteistä vaikutusta, sinun päivällä henkilökunta löytävät käyttää verkkoa turhauttavaa ja ongelmia voi ilmetä, jolla on yhteyksiä aikarajan ongelma vain pahenee kun skaalata verkkoon.
  • Varmista työpaikkoja voi ajaa omia työntekijöitä. Jos työpaikkaa liian paljon muistia ja levytilaa intensiivisiä työpaikkoja alkaa saaliin, ja ainoa asia, jonka huomaat on pudotus Työpaikkojen määrä käsitellä ilman varsinaista syytä, miksi.

Hakemuksen tulokset Job

Toimittaessaan tulokset työ on tärkeää tarkistaa, että tuloksia ei ole jätetty toinen työntekijä, varsinkin jos nykyinen työntekijä on ollut lepotilassa jonkin aikaa.

Kun tulokset esitetään että tulosten määrä vastaa tietueiden sisällä työtä.

Kuten aiemmin todettiin, eikä se voi olla yli korosti, rakentaa vikasietoisuutta osaksi työpaikan hakuun ja tulosten esittämisen. Työntekijät voivat (ja mitä todennäköisimmin) siirtyy lepotilaan klo hankalimmassa kertaa ja tämä on huomioitu. Myös jälleen hahmotuskykyyn pois hakutuloksia jättämisestä auttavat palvelemaan tulevia muutoksia työn ohjausjärjestelmä paljon helpompi käsitellä.

Yhteenveto

Tässä section olemme tarkastelleet mitä työnohjaus palvelin pitää tehdä ja miten saada hyvin yksinkertainen järjestelmä käyttöön. Keskustelimme siitä, miten hakea työtä käyttöjärjestelmästä ja miten parhaiten määrittää työpaikkoja saada eniten meidän oman toimiston verkkoon. Lopuksi, kappaleen tai kaksi esittäessään tulokset takaisin työn Control Server esiteltiin.

  • Työn hallinta palvelimen kautta työpaikkoja ja varmistaa, että kaikki toimivat yksiköt valmistuvat
  • Abstrahoimalla työsi valitset / tulos jättämistä voimme muuttaa teknologian Control Server ilman suurempia ongelmia
  • Määritä työpaikkoja, jotta ne ajetaan nopeasti ja tehokkaasti vaarantamatta liikaa paineita verkon infrastruktuuriin, ja tekemättä päällekkäistä käsittelyä tehtäviä säännöllisesti.
  • Varmista, että olet rakentaa vikasietoisuuden ja erehdys checking teidän rutiinit, työntekijä voi keskeyttää ja aloittaa uudelleen ja hankalimmassa kertaa. Muista tarkistaa, jos tuloksia on jo toimitettu toinen työntekijä.

Seuraavalla kerralla

Kun osa 3 luomme virtuaalinen jenkäsittelykoneeseen ja perustamme oman Windows-koneissa tulee idle-aikaisia ​​työntekijöitä.

Toimisto Grid Computing Virtual ympäristöissä - Osa 5

Kun perjantai 04 joulukuu 2009 23:03

Johdanto

Olen töissä yrityksessä, jossa voimme suorittaa useita eräajot käsittely miljoonia levyjä tietoja joka päivä, ja olen ajatellut viime aikoina kaikki koneet, istua joka päivä tekemättä mitään useita tunteja. Eikö olisi hyvä, jos voisimme käyttää näitä koneita vahvistamaan prosessointitehoa järjestelmiemme? Tämän joukon artikkeleita aion tarkastella mahdollisia hyötyjä palkata toimiston verkon avulla virtualisoituja ympäristöissä.

Vuonna Osa 4 tutustuimme työkaluja, jotta voimme käytössäsi uusin versio koodin ja tietolähteet niin, että saadut tulokset ovat aina ajan tasalla uusimpien kaupallisten tietojen ja logiikkaa.

Ennen käyttöönottoa

Ennen kuin otat teidän verkkoon, jos on olemassa yksi asia mitä teet ja yksi asia vain se benchmark nykyinen järjestelmä! Ei ole väliä mitä kerrot kollegansa siitä, kuinka paljon ylimääräistä työtä järjestelmä tulee tehdä, ellei sinulla ole numeroita kuulen tämän teidän takeita ole mitään. Joten,

  • kuinka monta kirjaa voit käsitellä tällä hetkellä? Per Day? Tunnissa?
  • Kuinka kauan se yleensä kestää kääntyä työpaikka?
  • Kuinka paljon enemmän kapasiteettia sinulla on?

Mukana on myös muita kysymyksiä:

  • Jos käsittely palvelin (tai joku käsittely palvelimet) laskee miten se vaikuttaa ominaisuudet, aiotte rujo?
  • Mitä etuja sinulla toivoa / odottaa saavansa siitä sähköverkkojärjestelmään?
  • Ovatko konttorikoneiden pystyy käyttämään työpaikkoja?
  • Ovatko (tai voit työpaikkaa muuntaa) ja wrok tähän tyyliin käynnissä?

Viimeinen tärkeä asia on, että otat aikaa merkittäviä muutoksia näin. Päivitä koodimerkkien toimimaan käyttämällä uusia menetelmiä, Benchmark uudelleen. Mahdollisesti perusti oman käsittelyn palvelimen ajaa virtuaalikoneen, kun kaikki jalostuksen palvelin vain olla toinen työntekijä (vain erittäin voimakas suhteellisen). Anna uusi prosessi asettua.

Käyttöönotto

Ehdotukseni olisi pop toimistoon yhden viikonlopun suorittaa kaikki asennukset ja asetukset. Tee tämä juuri ennen kahden viikon lomaa ja lähteä niin muiden köyhien kaveri käsittelemään seurauksia ... ehkä ei ...

Deployment tällainen järjestelmä on hidasta. Vaikka se on suhteellisen helppo asentaa tämä järjestelmä vaikuttaa koko toimiston infrastruktuuri (myös digitaalista yksi). Ensinnäkin rullaa ulos pari koneita kerrallaan, näyttö verkkoliikenteen, miten työntekijä isännät suorittaa päivittäinen perusteella. Saatat joutua muuttamaan työn määritykset vastauksena löytösi.

Kun järjestelmä on ratkaistu muutamalla koneet (sanotaan vaikka 10% kaikista toimistolaitteet, eli 5) pitää seuranta verkkoliikennettä ja pääkoneen performance. Seuraavaksi benchmark uudestaan, sinun pitäisi nyt käsitellä 33% enemmän työpaikkoja kuin ensimmäinen vertailukohtia. Tarkista tämä on niin, tai että olet ainakin tässä ballpark. Jos ei, tutkia, mitä tapahtuu ennen siirtymistä. Toista tätä sykliä kunnes onneksi on kaikki konttorikoneiden käynnissä tappamatta yksittäisen koneen suorituskykyä tai hionta verkkosi pysähtynyt.

Kaikkina aikoina pitää esikuva, vaikka kaikki käyttöönottoja on tehty. Katso miten uusi koodi päivityksiä vaikuttaa nopeudesta, tarkista kaikki työntekijät ovat raportointi ja käsittely työpaikkoja. Hitaasti (erittäin hitaasti) suurennettava työsi kokoonpanon saada kaiken irti työntekijöitä ja verkko.

Lopeta!

Entä jos haluat lopettaa työntekijöiden käydessä jonkin aikaa? Ne ovat kaikki siellä käynnissä palauttamiseksi, ja yrittävät parhaansa mukaan käsitellä tietoja kuin nälkäiset hyönteiset. Vastaus saattaa tuntua itsestään selvältä, mutta sen syytä lisätä vain jos sen huomiotta. Yksinkertaisesti muokata käsittely script exit (0) or die () tai muu selvitys tappaa käsittelyyn työtä. Tärkeä syy siihen, miksi pyrimme aina päivittää uusimpaan käsittelyyn käsikirjoitus ennen run!

Esittelyjärjestelmäsovellusten

Voidakseen kirjoittaa Tästä lyhyitä artikkeleita olen luonut hyvin pieni ruudukko osoittaa tekniikoita ja menetelmiä. Olen lukenut paljon artikkeleita, opetusohjelmia, ja käyttää erilaisia ​​työkaluja asentaa ja seurata, mitä oli tekeillä. Missään olen mennyt ulos ja tyydyttyneitä koko toimisto liikenteen ja enkä ole ollut käytössään vakituisen henkilöstön jäsenet PC kuinka isäntä tulokseen vaikuttivat.

Mielenilmaukseni järjestelmä oli erittäin nöyrä todellakin. Käytin säännöllisesti työpöydän perustettu työnohjausta palvelimelle. Tässä olin asentanut MySQL -palvelimen asennettu perustettu mestari lisääntymään, PHP , Â ja SVN kytkeytyvät toisiinsa Apache (yhteys kautta työntekijän VM).

Sitten luonut CentOS työntekijän koneen VirtualBox on 6 vuotta vanha Windows XP laptop. Olen setup aikataulun mukaiset tehtävät kopioinnin jälkeen VM koneeseen ja anna sen mennä.

Virtuaalikone perustettiin PHP, Subversion ja MySQL. Olen kassalla haara nimeltä "työntekijän" Oman työn hallinta palvelimet arkisto ja varmisti voitaisiin päivittää käyttämällä "svn update". Seuraavaksi setup MySQL orja ja tarkistanut, että tietoja on jäljitellä MySQL on työnohjausta palvelin alas työntekijälle VM. Kun kaikki tämän minä setup bash script ja cron työtä.

Minun käsittely script pohjimmiltaan meni pitkin viivoja (hyvin yksinkertaisia ​​asioita):

  • Lue ja kenttään
  • Lasketaan määrä vastaavia nimiä taulukko tietolähteen pidettiin VM
  • Lasketaan nimien kuin edellä, mutta jakamalla nimen tilat (esim. etunimi, keskellä, sukunimi)
  • Toistuva tämä prosessi 1,000 kertaa

Jokainen työ kesti noin 20 minuuttia juosta. Yhdessä vaiheessa olin avannut useita kopioita työntekijän VM ikkunoiden laptop ja katseli työpaikat tarkastetaan pois kunkin työntekijän IP-osoitteet. Tässä vaiheessa olen myös vahvistanut, että replikointi automaattisesti uudelleen.

Jättäminen kannettava tyhjäkäynnille johti työntekijä alkaa käsitellä työpaikkoja työnohjaukseen palvelimelle. Kun jatkat kannettavan käyttö oli viive noin 30-60 sekuntia, tämä on melkoisesti aikaa ja henkilöstön olisi tehtävä selväksi, että heidän kone voi pysähtyä hetkeksi palatessaan kone. Uudemmissa koneissa ei välttämättä ole tauon tätä pitkää. Hyöty määrän käsittelyn suorittaa näiden koneiden seisonta kaudet antaisivat enemmän kuin suuremmat toimihenkilöille odottaa lyhyen aikaa (esimerkiksi 1 minuutti) on ne saapuvat koneet aamu (olen usein odottamaan kauemmin että tätä Windows Defender päivitys tapahtuu) jos ne ovat tietoisia tästä (hyödyllinen aika napata aamulla kahvia!).

Kaiken kaikkiaan olen varma, että olen osoittanut teknologioita, joita voitaisiin käyttää luomaan tällaisen järjestelmän. Olen osoittanut, että tällainen järjestelmä tekee työtä (hyvin) pienimuotoista ja joitakin kokeiluja voidaan skaalata jopa hyödyntää resursseja toimiston koneita. Jos en pääse pisteen Näin Olisin erittäin kiinnostunut tietämään / nähdä, kun joku muu tekee.

Päätelmät / Arviointi

Seuraava selvä askel olisi itse saada reaalimaailman esimerkki ja alkaa ottaa käyttöön järjestelmä, kuten tällä alueella toimistoympäristössä ja katso mitä tapahtuu. Kysymysten liiketoiminnan sitoutumaan tähän ilman polkua liekehtivän yritys todistaa teknologian ja tehokkuuden voi olla hieman vaikeaa. Grid / Distributed Computing on erittäin suosittu on joissakin piireissä ja on joitakin suuria sovelluksia (BIONC, SETI @ Home, Folding @ Home jne.). En kuitenkaan löydä pienemmässä mittakaavassa ja yksinkertainen järjestelmä näin hauissa jotka voitaisiin kaulitaan sisällä toimistoympäristössä.

Loin periaatteessa ilmainen, joka käyttää enimmäkseen avoimen lähdekoodin ohjelmistoja ja työkaluja lähes mihin tahansa toimistoon. Tekniikoita käytännössä osoitettu ja osoittaa suorittaa ja toimisi odotetusti. Toivottavasti on osoittaa, että ei ole paljon työtä ja hyvin yksinkertainen asennus, voit käyttää toimisto grid-järjestelmä on tehokas, halpa, Â ja skaalautuva kaikki samaan aikaan.

Kun järjestelmä on toiminnassa ei melkein ole loppua määrän räätälöinnin ja parannuksia voit tehdä. Esimerkiksi tilastot / esikuva voidaan helposti lisätä jossa arvosta tällaisen järjestelmän joka päivä. Uusia koneita voidaan lisätä nopeasti ja helposti, kun ne saapuvat päivitykset nykyisten laitteiden toimintaa vahvistamalla laskentatehoa.

Toivottavasti olet nauttinut lukea tämä artikkelisarja ja antaa teille ajattelemisen aihetta koskeva käynnissä toimiston verkkoon. Ratkaisu esitetään tässä ei välttämättä toimi kaikissa tilanteissa, vaan olisi voitava mukauttaa, jotta voit saada tietojenkäsittelyyn tehdä käyttämällä oman ratkaisun.

Voit vapaasti lähettää minulle kommentteja, korjauksia tai parannuksia ja teen parhaani pitää tämän artikkelin päivitetään vastaamaan.

Zend Framework: Fundamentals - Review

Kun , lauantai 28 marraskuu 2009 22:42

Työnantaja hiljattain maksettu ryhmä meille kehittäjät voivat Zend Framework: Fundamentals kurssi, täällä minä tiivistää ajatuksiani ja mielipiteitä kurssin muille. Niille, jotka haluavat säästää aikaa, tässä on yhteenveto:

Kehittäjille, jotka eivät ole ehtineet tarkastella Zend Framework kurssilla (Zend Framework: Fundamentals) tarjoaa hyvän yleiskuvan kehyksen käyttöönottoa voit avainalueilla ja antaa riittävästi tietoa, jotta voidaan jatkaa. Niille, jotka ovat viettäneet aikaa tarkastella ja luotava seurannut yksi tai kaksi tutorials Tällä kurssilla ei tarjoa paljon pidemmälle.

Tausta

Olen ollut PHP kehittäjä noin 5-6 vuotta, ja ovat aloittaneet yhteistyön Zend Framework on osa pohjalta viimeisten 6 kuukauden aikana. Olen kehittänyt ja / tai ollut kehittäjä pari pientä Zend Framework MVC sites. Olen rehellinen, en ole ollut valtavan määrän altistuminen muille kehyksiä peräisin koodauksen näkökulmasta, mutta ovat viettäneet useita tunteja tutkien projektin sivustot ja arvioimaan them. puitteet ja yhteisöä ympärillä Zend Framework on varsin jännittävä, ja siellä näyttää olevan suuria mahdollisuuksia, jos se menee.

Tietoa Kurssin

Kurssi on toimitettu yli 9 kahden tunnin WebEx-istunnot (ja 10 minuutin tauko keskellä). Aika kuluu läpi joukko dioja tarjoamien Zend kanssa keskusteluun milloin tahansa. Voit käyttää mikrofonia puhua ohjaaja, mutta rehellisesti sanottuna en nähnyt ketään käytä mitään muuta kuin chat-ikkuna. Lisäksi VMWare Ubuntu kone jos on esimerkiksi koodin ja hankkeet perusti kokeiluversio Zend Studio. Kurssin johtaja puhuu osallistujille joko yli integroitu VoIP-ratkaisun, tai voit soittaa ja käyttämällä yhtä monista maailman yhteystietosi numeroina.

Kurssilla materiaali koostuu lyhyesti puitteiden ja MVC malli ennen menossa näyte vieraskirjaan sovellus. Keskustelu osoitti bootstrapping, Zend_Application, Db taulukot, tietokanta pääsy, lomakkeet, suodatus, ACL, Validating, jne, jne. Periaatteessa kattaa kaikki aiheet sinun tarvitse saada perus sivustosi käynnissä koko ajan antaa sinulle työkalut mene ja saada pidemmällä puitteissa (vaikka tämä ei määrä "Katso verkkosivuston paljon aikaa).

Aika annetaan koodaamaan joitakin esimerkkejä, ja kehittää "vieraskirja" ja yksinkertainen "wiki-sovellus. Henkilökohtaisesti olen sitä mieltä, että antamalla koodin tai kunkin sovelluksen ja sitten pyytää meitä kehittämään mikä oli lähinnä kopio rinnalla ei oikeastaan ​​tarjota hyvä oppimiskokemus. Olisin halunnut kehittää sovellus samankaltaisia, mutta eivät identtiset. on esimerkki sovelluksen hyötyä ottaa oppaan viitata. Vaihtoehtoisesti rakentaa sovelluksia tyhjästä mielenosoittajan olisi mahdollisesti johtanut enemmän kysymyksiä siitä, miksi ja miten, mikä antaa ymmärtää paremmin puitteita, kun kaikki voit etsiä yksityiskohtia kurssin jälkeen.

Viimeinen luento koostui työtä wikin sovellus apua / ohjeita ohjaajalta. Kurssin jälkeen palaute on otettu, korostettiin useaan otteeseen kurssin että Zend ottaa palautteen vakavasti, itse asiassa ilmeisesti meidän versio Kurssi oli aivan uutta. Jotkut muiden kehittäjien yhtiö aikoo ottaa kurssin nopeasti, joten on mielenkiintoista nähdä, jos tämä on tapahtunut.

Kurssin tyyli oli epävirallinen, saa palautetta ja yhteistyötä osallistujat ja ohjaaja. Kurssin vetäjä oli ystävällinen, helposti lähestyttävä (sähköpostiosoitteet jaettiin kysymyksille), ja vaikka hänen esityksen kalvot oli hieman hutera tuntui täysin päteviä puitteissa. Hän oli selvästikin joku, joka käyttää puitteet säännöllisesti kuin joku opetetaan opettamaan tietenkin pidin "reaalimaailmassa" kokemus tältä osin.

Kaiken Feeling

Jollain tavalla löysin kurssin ajanhukkaa, toisissa se oli erittäin kätevä. Toivottavasti saan syyni selvästi esille, ja ehkä antaa ajattelemisen aihetta ja hyödyllistä palautetta (tietäen minulle tämä on epätodennäköistä!).

Itselleni kurssin tarkoituksena oli liian alhainen. Ottaa käynyt läpi Pikaopas, lukea Rob Allenin Zend Framework in Action, ja työskennellyt puitteet hieman en oikein saa mitään liikaa. Olisin halunnut tietenkin poimia lopusta Quickstart ja kehittää uusia taitoja.

Se sanoi, kurssin nimi ei selvästi todetaan "Zend Framework: Fundamentals", ja että osa kurssin saavuttaa mitä esitetään tehdä. Muut jäsenet kehitystiimi jotka eivät ole viettäneet aikaa etsimässä osaksi valmiiksi kunkin istunnon innostuneesti ja kysymyksiä, jotka oli kiva nähdä.

Kaikki ei ole menetetty, oli mukava viettää aikaa vahvistaa perustiedot puitteet ja saada esittää pari kysymystä alueilla, joilla en ollut 100%. Oli myös aika, että sain istua joka päivä ja ajatella koodaus käyttää kehystä ja tulevia hankkeita, mitä olisin ole voinut tehdä toisin (voitteko kuvitella yrityksesi sopimalla siitä? :)). Viimeisenä mutta ei vähäisimpänä saat myös mukava todistuksen Zend sanoa, että kurssille (vaikka sähköpostitse).

Zend Framework sertifiointi

Tämä oli yksi kysymys riitti mieleen aikana, eikö valmistella minua sertifiointi? Nopea, helppo on raikuva Ei. Kurssin opettaja oli aivan selvä, että neuvontaa että sertifioinnin sinun pitäisi oikeastaan ​​käyttää puitteet päivittäin ja tuntuu erittäin mukava ja luottavainen sen käyttö ja menetelmiä.

Yhteenveto

Koska kaikki, mitä olen kirjoittanut edellä, minä tiivistää kaiken kahden helpon bullet pistettä:

  • Uusi Zend Framework: Kurssi ei tarkalleen mitä odottaa, se antaa sinulle mukava johdatus puitteet ja hyvää maadoitusta perusasiat, josta voit rakentaa. Kurssin näyttää herättää kiinnostusta ja innostusta puitteissa keskuudessa kehittäjille.
  • Käytetään Zend Framework: Vaikka se oli kiva pönkittää joitakin aivan alkeista tunsin aikaa, vaivaa ja varoja suorittaa kurssin Voitaisiin ollut parempi käyttää muualla. On mukava see Zend luoda uuden korkeamman tason kurssi ottamaan kehittäjät seuraavalle tasolle - ainakin standardin sertifiointia ja sen jälkeen. Tästä olisin kirjautua välittömästi.

Kirjaa DB käyttää Zend Framework

Kun tiistai 14 huhtikuu 2009 21:06

Olen onnistunut saamaan sivuston vauhdissa Zend Framework , kaikki on kirjautumassa hienosti Firebug / FirePHP niin seuraava askel oli loki DB. Halusin myös kirjautua joitakin lisätietoja käyttämällä puitteet kuten käyttäjä agentti, päivämäärä ja aika, GET ja POST muuttujat. Joten jatkaa käsin hieman tässä mitä tein:

// Set up logging to DB
$db = Zend_Registry ::get('dbAdapters');
$db = $db['general'];

$ ColumnMapping = array ("ensisijainen" => "ensisijainen"
'Viesti' => 'Viesti',
'Datetime' => 'timestamp',
'User_agent' => 'user_agent "
'Get_vars' => 'get_vars "
'Post_vars' => 'post_vars "
"Paikalla" => "paikalla"
);

$ WriterDb = uusi Zend_Log_Writer_Db ($ db, "error_logging", $ columnMapping);
$ Logger = uusi Zend_Log ($ writerDb);

$ Logger-> setEventItem ('datetime', date ("VKP H: i: s '));
$ Logger-> setEventItem (user_agent ", $ _SERVER ['HTTP_USER_AGENT']);
$ Logger-> setEventItem (get_vars ", print_r ($ _GET, true));
$ Logger-> setEventItem (post_vars ", print_r ($ _POST, true));
$ Logger-> setEventItem ("paikalla", SITE);

$ Logger-> info (tiedonvälityksellisen viesti ');

Kun array avaimet $ columnMapping ovat minun sarakkeen nimiä. "Priority" ja "sanoma" ymmärtävät Zend_Log_Writers vaan lisäkenttiä lisättiin antaa minulle joitakin lisätietoja.

Ilmeisesti tämä edellyttää, että olet kirjautumassa työtä jollain muita kirjailijoita ensimmäinen :)













Panorama Theme by Themocracy

8 vierailijaa nyt
7 vierasta, 1 vastaan, 0 jäsentä
Max kävijöitä tänään: 40 klo 03:33 am UTC
Tässä kuussa: 40 at 23-05-2012 03:33 am UTC
Tänä vuonna: 69 at 27-02-2012 09:56 am UTC
Kaikki aika: 130 at 28-03-2011 22:40 UTC