Posts tagged: virtualbox

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

Kun perjantai 04 joulukuu 2009 23:37

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ä työllistää toimiston verkon avulla virtualisoituja ympäristöissä.

Kun osa 2 tutustuimme työpaikat palvelin ajaa ja miten työpaikkoja tulisi määrittää, jotta saavutetaan mahdollisimman suuren osan käsittelyn ja samalla varmistaa, että jokainen työ on käsitelty ilman epäonnistuvat.

Perustetaan oma työntekijä - tai Limp server

Seuraava askel on perustaa virtuaalisen työntekijöitä. Tätä aion käyttää asennuksen CentOS käyttää VirtualBox. Aion asentaa MySQL ja PHP on palvelimessa, joka tunnetaan myös ontua (Li Nux, m ySQL, P HP) Servera (Olen ehkä tehnyt tämän nimen ylös).

  • Asenna VirtualBox on Windows koneella (seuraa linkkiä)
  • Lataa ja asenna CentOS (nykyinen versio 5.3) sisällä virtuaalikoneen

Ei ole mitään järkeä menin tähän on luultavasti 1000: n suuri tutorials siellä (ok, tässä yksi: luominen ja Managing CentOS virtuaalikoneen alle virtualbox ). Tärkeää huomata Oletan, että minä kutsuin virtuaalikone GridMachine.

Mitä minun valintoja virtualisoinnin asiakkaan ja käyttöjärjestelmä sinne ole mitään suurta pakottavaa syytä jokaisen valinnan. VirtualBox on jotain käytän minun kotikoneessa ja tukee kolme suurta käyttöjärjestelmiä. Valitsin CentOS sen hyvä vakaa käyttöjärjestelmä, ja käytän sitä omaa www-palvelimen. Olen lujasti oikeat työkalut tähän tehtävään (vaikka en soveltamalla "käytä nopein ja helpoin" mentaliteetti täällä), joten jos käyttöjärjestelmä X kulkee koodia nopeammin ja tehokkaammin käyttää sitä sen sijaan :)

Tärkeää Varmista, että VM käyttää DHCP, muutoin jokainen uusi virtuaalikone olisi määritettävä erikseen, joka on jotain emme want.By DHCP: meidän ei tarvitse määrittää verkkoasetukset erikseen työntekijälle koneita, DHCP luovuttaa out IP sinulle. Voit siis kopioida virtuaalikoneen siitä toimistossa murehtimatta jossa jokainen ylöspäin (tämä parantaa skaalautuvuutta ja vähentää työntekijöiden hallinto).

Prosessi sinun tulisi pyrkiä olisi hankkia uusi fyysinen kone, asentaa VirtualBox, ja sitten aika lailla käyttöön virtuaalisen kuvan ilman paljon muuta. Voisi olla viisasta setup kaikki työntekijät eri aliverkossa, jotta voit ainakin nähdä kuinka monta koneet käynnissä. Sinun on myös perustaa oman koneita pitkäaikainen vuokrasopimus tai rajoittamaton vuokrasopimus DHCP.

Kuinka ajaa Jobs työntekijälle

Tämä on mielenkiintoinen ala, ja on olemassa useita päteviä menetelmiä käsittelyyn työpaikkoja työntekijälle. Täällä minä vain käsitellä kahta ilmeisin:

  • Ikuisesti käynnissä käsikirjoitus: käsikirjoitus, olipa shell script-tai PHP-skripti suoritetaan kerran työntekijän ja toimii osana päättymättömään silmukkaan. Olen diskontataan tämän menetelmän yhtenä romahdusta käsikirjoituksen ja mahdollisesti teidän työntekijät eivät enää ajaa ilman jonkinlaista väliintuloa.
  • Cron-pohjainen script toteutus: Joka X minuutin cron daemon käynnistymässä puhelun script saada asiat menossa. Ilman jotkut tarkistus voisi johtaa monia monia kopioita työntekijän komentosarja.

Minun päätös oli mennä cron joka käynnistyy shell script joka 10 minutes. My komentotulkkiskripti suorittaa seuraavat tehtävät:

  1. Hanki prosessi luettelosta ja grep tämä 'php'. Jos ei löydy niin jatka.
  2. Soita työsi koodia, minun tapauksessani se olisi jotain PHP perustuu
  3. Työntekijä script täydentää sen run
  4. Lähdössä jälleen seuraavan sopiva puhelun

Minun bash script näyttää jotakuinkin seuraavat:

  #! / 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"
     php yourJobProcessingScript.php
 fi 

Huom: ECHO: n lähes täysin turhia, mutta voi auttaa seuraavan henkilön tulee yhdessä kokeilla ja muokata niitä.

Julistan perustaa työntekijän virtuaalikoneen, nopea, yksinkertainen ja helppo kopioida jokaiselle uudelle laite, on vastaanotettu. "Älykkyyttä" ja verkkoon todellakaan ole visualisoitu OS, sen kaikki tehdä koodilla luotu prosessi työpaikkoja, työ kokoonpano, ja varmistaa, että tehtävä suoritetaan tarvittaessa (ts. kun isäntä on valmiustilassa ).

Asettaminen Windows alustamiseksi Työntekijät

Ensimmäinen tehtävä on selvittää komennon suorittamiseen tarvitaan virtuaalikoneen ikkunoista komentoriviltä. Jos olet asentanut VirtualBox on oletussijaintiin ja olet nimetty oma työntekijä GridMachine sitten komento tarvitse ladata up your työntekijä:

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

Kuitenkin komentosarjan in "päättömän" valtio meidän on käytettävä:

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

Tämä käynnistää virtuaalikoneen ilman GUI ja anna sen tallentaa tilaan sulavasti. Toinen perustelu sammuu RDP, joten se ei ole ristiriidassa ikkunoita RDP, tai antaa sinulle viestin kuuntelee porttia 3389. Virtuaalikone nimi isot ja pienet kirjaimet!

Seuraavaksi meidän täytyy määrittää Windowsin jopa potkia pois meidän työntekijä VM kun kone on ollut käyttämättömänä. Voit tehdä tämän (Windows XP), sinun täytyy mennä Käynnistä -> Kaikki ohjelmat -> Accessories -> System Tools -> ajoitettuja alla:

ajoitetut tehtävät

Seuraavaksi klikkaa "Lisää Aikataulun Task" seuraa selata lisätä mukautettua ohjelmaa. Navigoi VBoxManage käsikirjoituksen ja klikkaa ok. Ajoita tehtävä mikään vaihtoehdoista (me vaihdamme tätä minuutissa) ja jatka. Kun ohita seuraava näyttö Windows kysyy kuka haluat suorittaa tämän tehtävän, Haluan ehdottaa joko "Järjestelmänvalvoja" tai luo uusi etuoikeutettu käyttäjä. Muista, emme halua puuttua standardin henkilöstöstä koneeseen milloin tahansa. Valitse Seuraava ja tarkista Näytä lisäasetukset tähän tehtävään.

Voit lopussa run oppikirja lisätä meidän "startvm GridMachine 'string ja että ajaa vain kirjautuneena jää unticked. Käy aikataulu tehtävä seuraava ja muuttaa aikataulua pudota alas vaihtoehto "kun hyödytön" Valitse aika haluat koneen olla käyttämättä ennen kuin siirrytään seuraavaan välilehteen.

Lopuksi untick vaihtoehto, jossa todetaan lopettaa tehtävän, jos se on käynnissä X määrä aikaa, mutta älä rasti vaihtoehdon pysäyttää tehtävä, jos laite ei enää käytetä.

ajoittaa

Siinä se sitten Windowsin host setup!

Yhteenveto

Tässä osassa olemme perustaneet virtuaalikoneen toimia työntekijänä, sekä tapa, jolla me kutsumme ja toteuttamaan meidän tehtävämme käsittely skriptejä (itselleni PHP-skripti). Sieltä me tarkastelemme kuinka perustaneet kappaletta ikkunoiden käynnistää virtuaalikoneen on päätön tilassa, kun tietokone on käyttämättömänä, ja tallentaa sen tilaan, kun käyttäjä palaa käyttö koneen. Toivottavasti tässä vaiheessa näet kuinka helppoa on perustettava tällainen järjestelmä ja kutiavat saada joitakin kokeiluja menossa itse!

Seuraavalla kerralla

Vuonna Osa 4 me tarkastelemme työkaluilla että käytätkö uusinta versiota koodin ja tietolähteet niin, että saadut tulokset ovat aina ajan tasalla uusimpien kaupallisten tietojen ja logiikkaa.

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ä työllistää 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ä työllistää 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 kuitenkaan ei tarvita korkeaa käytettävyyttä, 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__ ja tunniste, 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ä autuaan tietämätön siitä, 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ä.













Panorama Theme by Themocracy

4 vierailijaa nyt
3 vierasta, 1 vastaan, 0 jäsentä
Max kävijöitä tänään: 22 klo 07:35 am UTC
Tässä kuussa: 26 at 2012-04-04 22:27 UTC
Tänä vuonna: 69 at 27-02-2012 09:56 am UTC
Kaikki aika: 130 at 28-03-2011 22:40 UTC