Веб локације могу да извршавају планиране задатке са Црон-ом

сат

На делу имамо низ сувишних система за надзор који редовно извршавају процесе. Неки трче сваког минута, неки једном увече, у зависности од тога шта раде. На пример, могли бисмо извршити скрипту која извози све купце који нису обавили куповину у року од 30 дана да би им послала купон.

Уместо да покушавате све то да пратите ручно, много је лакше направити послове који се аутоматски заказују и извршавају. На Уник системима то се постиже са Црон-ом. За људе који знате шта радите, слободно едукујте мене и читаоце ако избацим било какве дезинформације.

Жалосно је, али типични веб програмер уопште није упознат са Цроном. Чак и ако јесу, компаније за веб хостинг често не пружају приступ или подршку Црон-у. Мој домаћин је један од последњих - дозвољавају вам да га користите, али га не подржавају.

Шта је Црон?

Црон је добио име по грчкој речи Цхронос, што значи време. Црон ради у непрекидној петљи да би покренуо задатке које је акумулирао Цронтаб (можда назван по табулаторулатор. Ти задаци се обично називају Цроњобс и могу се позивати на скрипте на вашој веб локацији.

Објашњење Црон дијаграма

Како да подесим Цронтаб

Навести Црона да стварно трчи може бити изазов, па ево шта сам научио и како сам то урадио Иф Суцк:

  1. Подесио сам скрипту да проверава Твиттер АПИ за да види да ли је неко одговорио @ифсуцк. Упоредио сам те поруке са порукама које сам већ сачувао на веб локацији, уносећи било које нове.
  2. Када је скрипта прорадила, омогућио сам дозволе да Корисник изврши скрипту (744) и додао референцу на скрипту у моју Цроњоб датотеку - о томе касније.
  3. Тада сам морао да се пријавим на своју веб страницу преко ССХ-а. На Мацу је требало отварање терминала и куцање ССХ корисничко име@домена.цом где је корисничко име било корисничко име које сам желео да користим, а домен је била веб локација. Тада су ме питали и дали лозинку.
  4. Затим сам покушао да покренем скрипту директно из наредбеног ретка тако што сам откуцао име датотеке и релативну путању на серверу: /вар/ввв/хтмл/мисцрипт.пхп
  5. Једном када сам исправно радио, додао сам неопходни Уник код у први ред датотеке: #! / уср / бин / пхп -к . Верујем да ово једноставно говори Унику да користи ПХП за извршавање скрипте.
  6. У командној линији терминала сам откуцао цорнтаб (други ће можда морати да куцају цронтаб -е) и притисните Ентер ... и то је било све што је требало!

Синтакса за вашу датотеку Цроњоб

Што се тиче горе наведеног броја 2, Црон користи генијалну шему за одређивање када ће се извршавати ваше скрипте. Заправо, ово заправо можете копирати и налепити у свој Цронфиле (на мом хосту се налази у / вар / споол / црон / са именом датотеке исто као моје корисничко име).

# + —————- минута (0 - 59)
# | + ————- сат (0 - 23)
# | |. | + ———- дан у месецу (1 - 31)
# | |. | |. | + ——- месец (1 - 12)
# | |. | |. | |. | + —- дан у недељи (0 - 6) (недеља = 0 или 7)
# | |. | |. | |. | |. |
* * * * * /вар/ввв/хтмл/мисцрипт.пхп

Изнад ће извршити моју скрипту сваког минута. Да желим само да ради једном на сат, само бих ставио колико минута након сата желим да се покреће, па ако је било на ознаци од 30 минута:

30 * * * * /вар/ввв/хтмл/мисцрипт.пхп

Обавезно поставите и дозволе за ову датотеку као извршне! Открио сам да су синтакса, дозволе и извршавање цронтаба из прозора терминала најважнији фактори. Сваки пут кад бих поново снимио датотеку, пронашао бих и да је потребно ресетовање мојих дозвола!

АЖУРИРАЊЕ: Ако желите да осигурате да се послови изводе, један од једноставних начина је ажурирање поља базе података последњим покретањем скрипте. Ако је то ретко, можете једноставно написати е-поруку послату себи.

Додатни Црон ресурси:

Колико послова бисте могли аутоматизовати користећи Црон?

Komentari

  1. 1

    Добро покривен чланак о постављању црон-а, за некога ко је нови у цројобс-у, најтежи део постављања црон-а је схватити интервал извршавања цроњоб-а, а сасвим је уобичајено добити погрешан интервал у првом покушају. Ако су ваши цроњобови осетљиви на време, добро је у скрипту укључити неке кодове да би се ехо одзвао, тако да ћете бити обавештени о статусу извршења посла.

  2. 2

    Здраво Доуг,

    Неколико ствари које треба узети у обзир приликом рада са црон пословима.

    Прво, након неколико десетина, пожелећете да имате кориснички интерфејс, базу података и синтаксу енглеског изгледа 😉

    Друго, црон ће покренути посао у одређено време, без обзира да ли је претходно позивање посла завршено. Дакле, извођење посла једном у минуту који траје 2 минута брзо ће довести до тога да се изврши пуно истих послова.

    Даље, нема извештавања о грешкама када нешто пође по злу, па ћете морати да додате своје извештавање о грешци.

    Обратио сам им се на неколико начина:
    - нека апликација буде покренута путем црон лоок-а у бази података како би се утврдило шта треба покренути. Покрените га једном у минуту или сату у зависности од тога шта желите
    - нека свака скрипта креира „закључану“ датотеку у / тмп и ако постоји, немојте поново покретати, ово спречава дупликате послова ако их не желите
    - ако скрипта пронађе датотеку закључавања старију од једног сата (или шта већ сугерише да сте умрли), пошаљите упозорење е-поштом
    - нека скрипта пошаље е-поруку о неуспеху посла, тако да знате да је нешто пошло по злу
    - погледајте оквире попут Флук-а или комерцијалних планера када ваше потребе превазиђу неколико скрипти

    Крис

  3. 4
  4. 5

    Још се сећам првог дана када сам упознао Цронние. Чула сам ствари о њој, да је била поуздана, увек на време, али понекад помало збуњујућа у вези са својим намерама.

    Открио сам да је ово тачно јер ми је у почетку била потпуна мистерија. Након распитивања око ње, прилично брзо сам схватила како воли да оперише. Сад не могу да замислим дан који би прошао без ње у мом животу. Она чини оно свакодневно узбудљивим и скида ми много терета с рамена.

    Озбиљно, осећам се као да сам огребао површину само оним што могу аутоматизовати помоћу црон послова. Они су заиста најбољи програмер. Ако за управљање сервером користите некога попут ЦПанела, он пружа много угоднији интерфејс за креирање круна. Комплетни са падајућим менијима за минут, сат, дан, месец итд. Који граде црон линију за вас.

  5. 7

    Дефинитивно видим да би ово требало да користи сваки продавац ... Постоји ли неко ко може пружити ову услугу јер звучи превише „технички“?

Шта ви мислите?

Ова страница користи Акисмет како би смањила нежељену пошту. Сазнајте како се ваш коментар обрађује.