Inngangur
Ég vinn í fyrirtæki þar sem keyrt mörg störf runuvinnsla milljónir færslur af gögnum á hverjum degi og ég hef verið að hugsa undanfarið um allar vélar sem sitja í kring á hverjum degi að gera ekki neitt í nokkrar klukkustundir. Væri ekki gott ef við gætum notað þá vél til að styrkja vinnslu mátt kerfi okkar? Í þessum hóp greinar sem ég ætla að horfa á hugsanlegum ávinningi af ráða skrifstofu rist með virtualised umhverfi.
Í Part 1 ég gaf yfirlit um kerfi og tækni sem ég mun vera með og rætt sum mögulegar ástæður hvers vegna þú vilt að búa til skrifstofu rist.
Job Control
Ef þú ert að fara að keyra störf þá þú ert að fara að þurfa á einhvern hátt að stjórna þeim. starf eftirlitskerfi þín (á vefþjóninum starf þitt) þarf að vera mjög vel ígrunduð áður jafnvel reynt að keyra á skrifstofu rist. Svo í fyrsta lagi, hver eru verkefni fyrir stjórn starf kerfi:
- Afhentu störf samkvæmt beiðni frá starfsmönnum
- Segðu starfsmenn hvers konar störf til að keyra
- Track störf
- Tryggja að störf eru að keyra aðeins einu sinni
- Veita starf gögn til starfsmanna, eða að minnsta kosti segja þeim hvar á að fá það
Kerfið þarf einnig að framlengja, lausn sem virkar fyrir nú í einu tilviki má framlengja til að keyra nokkrar gerðir af störfum sem fyrirtækið sér virði í töflu lausn. Til dæmis, störf geta fengið forgang, fleiri en einu starfi gerð geta til (þ.e. nokkrar bækistöðvar code), loksins að þú gætir jafnvel keyrt mörg mismunandi vélar verkamaður sem eru bjartsýni fyrir hverja tegund vinnu (þó það þýðir að flytja í burtu frá 'almenna starfsmann 'hugmynd). Alltaf að reyna að hugsa um framtíðina er að þróa kerfi, stutt framtíðarsýn getur leitt til lengri tíma litið gremju og aukin þroska sinn.
Job Server
Við erum að fara að þurfa einhversstaðar að stjórna störfum okkar, þetta ætti að vera eina kerfið í rist þínum sem hefur fasta Resource Locator, er að IP tölu, vélarheitið URL (með innri DNS), o.fl. Þetta er vegna þess að starfsmenn þurfa að vita hvar á að leita að starfi, þarf starfsmenn til að finna stjórn starf kerfi (ekki stjórna vinnu kerfi finna starfsmenn).
Starfið miðlara sig ekki raunverulega hafa flókið verkefni (í grunn kerfi einhvern veginn), þarf það að geyma lista yfir störf, hendi út störf, fá niðurstöðurnar, og síðan vista þær fyrir seinna sókn. Hvernig þessir hlutir ('hendinni störf "svo sem) eru skilgreindar getur verið mjög einföld. Seinna getum við framlengt kerfi til að fela stjórnsýslu tengi til að bæta við, breyta, eyða, fella störf en þetta er utan þessa æfingu.
Það er engin ástæða til alls þá er það starf netþjóninn gæti ekki verið raunverulegur vél í gangi innan helstu vinnslu netþjóninn sem það er ekki holræsi of margar auðlindir frá því. Starfið miðlara er hins vegar að þurfa mikið framboð, ef það fer niður á föstudagskvöldi þú ert að fara að missa alla helgina í vinnslu, hugsanlega kosta þig nokkrar vikur virði vinnslu tíma (í samanburði við helstu vinnslu netþjóninn einn) . Þú vilt kannski íhuga að setja starf netþjóninn á álag jafnvægi umhverfi fyrir mikið framboð.
Basic Setup
Grunn skipulag fyrir miðlara starf okkar mun samanstanda af því sem ég ætla að hringja eitt af netþjónum minn Limp (sem er Li nux, m ySql, P HP). Númerið í gangi á Thea starfsmenn munu í raun vinna út hvað störf það getur keyrt um samskipti við með starfið eftirlitskerfi gagnagrunna. Síðar á að við gætum búið til vefþjónustu og í raun hendinni störf fremur en að þurfa að starfsmenn eiga erfitt verk sín, en nú ætlum við munum halda áfram að nota KISS meginreglu (Hafðu það einfalt, Stupid!).
Svo leyfir, búa til þrjú mySQL töflur til að takast á við störf. Þetta verður "störf", "jobRecords` og `jobResults`.
Hér ég er að nota SQL Buddy a mikill lítill val til phpMyAdmin bara vegna þess auðveldara að setja á CentOS (fyrir aðra sjá: 10 Great val að phpMyAdmin )
Þessi tafla samanstendur af 5 einfalt sviðum,
- id: Einstaklega finna starf
- Notendanafn: Gæti verið viðskiptavinur tilvísun eða fjölda annarra auðkenni
- Status: Þú þarft að vita hvar starfið er á, td
- 0: byrjaði ekki
- 1: sóttir
- 2: Lokið
- started_by: Hver er byrjað að gera starfið? Þetta er ekki alveg nauðsynlegt en er gott að hafa. Ég vil benda mælingar starfsfólk IP-tölu þeirra á netinu þínu
- started_at: Hvenær kom starfsmaður byrjar í vinnu? Með því að fylgjast með störf sem ekki hafa lokið innan X tíma sem við vitum að við þurfum að taka upp vinnu aftur og hefja vinnslu hjá öðru starfsmanninum. Verkamenn gætu hætt vinnslu / go óvirkt í allir tala af ástæða, rafmagnið, hrun, net tap, o.fl.
Það er auðvelt hvernig þessari töflu gæti verið framlengdur með nokkrum fleiri sviðum til að leyfa að tölfræði rekja spor einhvers, tími ljúka dálki til að sjá hversu lengi starf tók gegn til að sjá hversu margir starfsmenn tók upp á starf (augljóslega þetta þarf að sinna 1), starf forgang, listinn getur farið á og á. Í flóknari atburðarás starf það væri hægt að tilgreina hversu mikið minni er starfsmaður þyrfti aðgang að (og því aðeins að nota viðeigandi starfsmenn), eða jafnvel hvaða gerð af starfsmanni væri þörf.
Lets bæta nokkrum störf dæmi:
Í næsta borð aftur er alveg einfalt að skilja, eru þessar starf skrám okkar. Þau eru tengd helstu störf borð við dálk `jobs_id`. The gera upp þessa töflu mjög mikið veltur á þeim gögnum sem þú þarft að afhenda starfsmönnum þínum, lætur gera mjög einfalt dæmi þar sem við höfum fjóra dálka:
- id: ID á hreinu
- Notendanafn: Nafn Person
- heimilisfang:'s heimilisfang Person
- jobs_id: Starfið ID að þessi færsla er tengd við
Þriðja og síðasta borð samanstendur af niðurstöðum borð, það hefur mikið sama gera allt sem skráir borð okkar, og með því að bæta við nokkrum dálkum gæti verið hluti af gögnum töflu:
- job_record_id: Link niðurstaðan að starfið töflu
- niðurstaða: Niðurstaðan gögn
... Og það er allt sem þú þarft til að fylgjast með vinnu! (Að vísu í mjög einfaldar stig) Ef ég er bent á annað borð þar sem gögn mína til að ferlið var staðsett, en þetta gæti alveg eins auðveldlega verið skrá, breytur til að keyra uppgerð kóðann, þú nafn það.
Val á starfi
Eins og áður sagði, að starfsmenn munu gera starf stjórnenda okkar fyrir okkur í bili, svo er allt sem við þurfum virkilega að gera að finna vinnu sem þarf að vinna og fá upplýsingar. Hvernig ættum við að gera þetta? Jæja velja starf úrval viðmið okkar og leita að starfi í SQL ég gerði eftirfarandi:
- Taktu hvaða störf sem eru ekki merkt sem lokið en frá starfsmanni okkar og endurstilla þær (í staðinn __ME__ með auðkenni, auðveldast yrði IP-tölu):
UPDATE `störf` SETJA `stöðu` = 0 HVAR `stöðu` = 1 AND `started_by` = __ME__;
- Using starf valforsendur okkar, velja vinnu og segja eftirlitskerfi að þessi starfsmaður er að fást við það:
UPDATE `störf` SETJA `stöðu` = 1, `started_by` = __ME__, `started_at` = NOW () HVAR `stöðu` = 0 OR
(`Stöðu` = 1 AND `started_at`> DATE_SUB (NOW (), bil X klukkustund)) ORDER BY `id` ASC;
Með grabbing störf sem ekki hafa skilað árangri í X tíma við að tryggja að öll störf eru rekin í the atburður af a verkamaður hrun eða fara AWOL.
- Next grípa störf upplýsingar á eftir færslum sig:
SELECT * FROM `störf` WHERE `started_by` = __ME__ TAKMARKA 1;
SELECT * FROM `job_records` WHERE `id` = __JOBID__;
Að loknu starfi við setja inn úrslit skrám okkar og merkja starf sem lokið. Mundu svo störf geti stöðvað / byrja aftur á hverjum tíma gera ráð fyrir sumir robustness í handritið. Það gæti verið að verkefnisstjórnin frestar hálfa leið í gegnum uppfærslu stjórna starfi kerfi, svo haka við fjölda gagna í vinnu og hversu margar niðurstöður vistuð aftur að stjórna vinnu yrði skynsamlegt að færa.
Að auki, meðan þetta sýnir hvernig störf geta verið valið og stjórnað úr SQL-fyrirspurn ramma þú ættir í raun að vera abstracting þinn stjórna starfi þannig að ef þú ákveður að skipta yfir í vefþjónustu, skráin byggð kerfi, XML , eða önnur fjöldi kerfa mun ekki hafa áhrif á kóða fyrir ofan það.
Atvinna Stillingar
Í næsta þætti til að íhuga er starf stærð og stillingar. Með því að spila með stillingar starf við getum slá mjög gott jafnvægi milli hraða, ferli afritunar og áreiðanleika. Take a par ofa aðstæður:
- Störf taka 1 dag hvern til að keyra: Þetta þýðir að starfsmönnum þínum þarf 15 daga til að vinna hvert starf (muna 10% af orku fyrir 2/3rds á þeim tíma). Þetta er greinilega ekki vitur stillingar, starf stærð þinni er alltof stór! Það myndi taka að minnsta kosti tvöfalt tíma til að fá starf unnið að fyrstu starfsmaður fara AWOL (tími til að ná sér að það hefur ekki skilað niðurstöðu plús reprocessing tíma). Í fullkominni þú vilt hafa að minnsta kosti eitt fullt starf auðveldlega eytt í lok hvers lengi aðgerðalaus tíma, þannig að þú haldir störf tifar yfir og í versta tilfelli vinnu myndi taka tvo daga að vinna ætti að fara fyrst vantar.
- Störf taka 1 mínútu til að keyra: Þetta þýðir að starfsmenn þinn tekur um 15 mínútur að keyra hvert starf. Þó að þetta kann að upphaflega virðist hugsjón, fá þér frekari vinnu vinnslu á hádegi, kaffitíma, fundum, etc þessari atburðarás setur álag á öðrum sviðum kerfisins og kynnir eigin vandamál þess. Til dæmis, í fyrsta lagi skipulag / afgreiðslutíma hlutfall er að fara að fara rétt niður, því að tapa kerfi skilvirkni. net er að fara að vera stöðugt á vinnu upplýsingum til ýmissa starfsmanna pirrandi starfsfólk sem dó degi til dags vinnu. Þú ert líka að fara að setja meira álag á vinnu vinnslu netþjóninn sem það hefur að fat út fullt og fullt af litla bita af vinnu með reglulegu millibili. Loks, í þessu ástandi ef starfið þjóni þínum fer niður þú ert að fara að búa til mikið aftur log ólokin vinna en stærri störf gætu áframhaldandi vinnslu í sátt og samlyndi ókunnugt um að starfið þjóni var að upplifa erfiðleika.
Í raun verður enginn kjörinn stillingar fyrir uppsetningu rist þína, mikið veltur á fyrirliggjandi úrræði, tegundir af vinnu, starf afgreiðslutími kröfur, net hæfileiki, og svo framvegis. Þó nokkrar reglur væri:
- Stærð störf þannig að hver starfsmaður getur fengið í gegnum að minnsta kosti 3-4 störf á 15 klst (lengsta líklega aðgerðalaus tímabil)
- Leika við starfið stærð svo að skipulag tíma verður nokkuð óveruleg samanborið við vinnslu tíma (með það í huga að ofangreind lið).
- Ef starfi er ekki lokið í tvöfalda tíma (kannski minna) sem þú býst við að ljúka því gera ráð fyrir að þess farið AWOL og hefja vinnslu það með öðrum starfsmanninum. Þetta þýðir að þú gætir þurft að bíða í allt að þrisvar sinnum eðlileg lengd vinnu til þess að lokið (hugsanlega lengur ef síðari starf mistakast). Þú vilt kannski að draga úr þessum tíma, en vera varkár ekki að draga það of mikið og þú getur byrjað að endurtaka vinnslu verkefna með reglulegu millibili.
- Störf skal vera óháð utan kröfur eins mikið og mögulegt er. Starfið miðlara, til dæmis ætti aðeins að hafa samband við upphaf og lok hvert starf.
- Ekki saturate netið, þetta mun hafa tvö neikvæð áhrif, daginn starfsfólk mun finna með netið pirrandi og vandamál gæti komið fram með tengingum tímasetningu út vandamál sem mun aðeins versna eins og þú mælikvarða rist þinn.
- Tryggja störf geta keyrt á starfsmönnum þínum. Ef störf verða líka minni ákafur eða diskur rúm ákafur störf munu byrja hætti og það eina sem þú munt taka eftir er lækkun á fjölda störf unnin án alvöru ástæðu hvers vegna.
Sendi Niðurstöður starf
Þegar senda niðurstöður starf það er mikilvægt að athuga að árangurinn hefur ekki verið lögð fram af öðrum starfsmanni, sérstaklega ef núverandi starfsmaður hefur verið sofandi um nokkurt skeið.
Þegar niðurstöður eru lagðar tryggja að margar niðurstöður samsvarar fjölda gagna innan starfsins.
Eins og áður segir, og getur ekki verið yfir áherslu, byggja kenna umburðarlyndi í sókn starf og árangur uppgjöf. Starfsmenn geta (og líklega vilja) fara inn fresta ham í mesta óþægilegur sinnum og þetta þarf að vera veitingamaður fyrir. Einnig aftur abstracting burtu niðurstöður uppgjöf mun hjálpa koma til móts við um breytingar á starfi eftirlitskerfi þinn mun auðveldara að takast á við.
Yfirlit
Í þessu section höfum við skoðuðum það sem stjórna vinnu miðlara þarf að gera og hvernig á að fá mjög undirstöðu-kerfi sett upp. Við ræddum hvernig á að sækja vinnu frá stjórn og hvernig best sé að stilla störf til að fá sem mest okkar á skrifstofu rist vélinni þinni. Til að ljúka, málsgrein eða tveir á senda niðurstöður aftur til að stjórna vinnu miðlara var kynnt.
- A stjórna starfi miðlari stýrir störfum og tryggir að öll verk einingar eru lokið
- Með abstracting starf select / niðurstöður uppgjöf við getum breytt tækni stjórn miðlara án mikillar vandræðum
- Stilla störf til að tryggja að þeir eru að keyra hratt og örugglega án þess að setja of mikið álag á innviði net, og án þess að endurtaka vinnslu verkefna með reglulegu millibili.
- Gakktu úr skugga um að þú byggir kenna umburðarlyndi og villa checking inn venjur, starfsmenn geta stöðvað og haldið áfram og mest óþægilegur á sinnum. Mundu að athuga hvort árangur hefur þegar verið lögð fram af öðrum starfsmanni.
Næst þegar
Í 3. hluta munum við búa til vél okkar raunverulegur vinnslu og setja upp vélum okkar gluggum til að verða aðgerðalaus tíma starfsmanna.