వెబ్‌సైట్‌లు క్రాన్‌తో షెడ్యూల్డ్ టాస్క్‌లను అమలు చేయగలవు

గడియారం

ప్రక్రియలను క్రమం తప్పకుండా అమలు చేసే అనేక పునరావృత పర్యవేక్షణ వ్యవస్థలు మన వద్ద ఉన్నాయి. కొన్ని ప్రతి నిమిషం నడుస్తాయి, కొన్ని రాత్రికి ఒకసారి వారు ఏమి చేస్తున్నారో బట్టి నడుస్తాయి. ఉదాహరణకు, 30 రోజుల్లో కొనుగోలు చేయని వినియోగదారులందరికీ కూపన్ పంపడానికి ఎగుమతి చేసే స్క్రిప్ట్‌ను మేము అమలు చేయవచ్చు.

వీటన్నింటినీ చేతితో ట్రాక్ చేయడానికి ప్రయత్నించకుండా, స్వయంచాలకంగా షెడ్యూల్ చేయబడిన మరియు అమలు చేయబడిన ఉద్యోగాలను నిర్మించడం చాలా సులభం. యునిక్స్-ఆధారిత వ్యవస్థలలో, ఇది క్రాన్‌తో సాధించబడుతుంది. మీరు ఏమి చేస్తున్నారో తెలిసిన మీ కోసం, నేను ఏదైనా తప్పు సమాచారం విసిరితే నాకు మరియు పాఠకులకు అవగాహన కల్పించండి.

ఇది దురదృష్టకరం, కాని సాధారణ వెబ్ డెవలపర్‌కు క్రాన్‌తో పరిచయం లేదు. అవి ఉన్నప్పటికీ, వెబ్ హోస్టింగ్ కంపెనీలు తరచుగా క్రాన్‌కు ప్రాప్యత లేదా మద్దతు ఇవ్వవు. నా హోస్ట్ రెండోది - అవి మిమ్మల్ని ఉపయోగించడానికి అనుమతిస్తాయి, కానీ వారు దీనికి మద్దతు ఇవ్వరు.

క్రాన్ అంటే ఏమిటి?

క్రాన్ గ్రీకు పదం క్రోనోస్ కోసం పేరు పెట్టబడింది, దీని అర్థం సమయం. క్రోంటాబ్ చేత సేకరించబడిన పనులను అమలు చేయడానికి క్రోన్ నిరంతర లూప్‌లో నడుస్తుంది (బహుశా దీనికి పేరు పెట్టబడింది టాబ్ulator. ఆ పనులను సాధారణంగా క్రోన్‌జాబ్స్ అని పిలుస్తారు మరియు మీ సైట్‌లోని స్క్రిప్ట్‌లను సూచించవచ్చు.

క్రాన్ రేఖాచిత్రం వివరణ

నేను క్రోంటాబ్‌ను ఎలా సెటప్ చేయాలి

వాస్తవానికి క్రాన్‌ను అమలు చేయడం సవాలుగా ఉంటుంది, కాబట్టి ఇక్కడ నేను నేర్చుకున్నది మరియు నేను ఎలా చేసాను సక్ ఉంటే:

  1. ట్విట్టర్‌ను తనిఖీ చేయడానికి నేను నా స్క్రిప్ట్‌ను సెటప్ చేసాను API ఎవరైనా ప్రత్యుత్తరం ఇచ్చారో లేదో చూడటానికి sifsuck. నేను ఆ సందేశాలను వెబ్‌సైట్‌లో ఇప్పటికే సేవ్ చేసిన సందేశాలతో పోల్చాను, ఏదైనా క్రొత్త వాటిని నమోదు చేస్తాను.
  2. స్క్రిప్ట్ పనిచేసిన తర్వాత, నేను స్క్రిప్ట్ (744) ను అమలు చేయడానికి వినియోగదారుకు అనుమతులను ప్రారంభించాను మరియు స్క్రిప్ట్ రిఫరెన్స్‌ను నా క్రోన్‌జాబ్ ఫైల్‌కు జోడించాను - ఆ తరువాత మరింత.
  3. నేను అప్పుడు SSH ద్వారా నా వెబ్‌సైట్‌లోకి లాగిన్ అవ్వాలి. Mac లో, ఇది టెర్మినల్ తెరవడం మరియు టైప్ చేయడం జరిగింది SSH username@domain.com ఇక్కడ వినియోగదారు పేరు నేను ఉపయోగించాలనుకున్న వినియోగదారు పేరు మరియు డొమైన్ వెబ్‌సైట్. అప్పుడు నేను ప్రాంప్ట్ చేయబడి పాస్వర్డ్ ఇచ్చాను.
  4. నేను సర్వర్‌లో ఫైల్ పేరు మరియు సాపేక్ష మార్గాన్ని టైప్ చేయడం ద్వారా కమాండ్ ప్రాంప్ట్ నుండి నేరుగా స్క్రిప్ట్‌ను అమలు చేయడానికి ప్రయత్నించాను: /var/www/html/myscript.php
  5. నేను సరిగ్గా పని చేసిన తర్వాత, అవసరమైన యునిక్స్ కోడ్‌ను ఫైల్ యొక్క మొదటి వరుసలో చేర్చాను: #! / usr / bin / php -q . స్క్రిప్ట్‌ను అమలు చేయడానికి PHP ని ఉపయోగించుకోవాలని ఇది యునిక్స్కు చెబుతుందని నేను నమ్ముతున్నాను.
  6. టెర్మినల్ కమాండ్ లైన్ వద్ద, నేను టైప్ చేసాను crontab (ఇతరులు టైప్ చేయాల్సి ఉంటుంది crontab -e) మరియు ఎంటర్ నొక్కండి… మరియు అది అవసరం!

మీ క్రోన్‌జాబ్ ఫైల్ కోసం సింటాక్స్

పై # 2 కి సంబంధించి, మీ స్క్రిప్ట్‌లు ఎప్పుడు అమలు అవుతాయో నిర్ణయించడానికి క్రాన్ ఒక తెలివిగల పథకాన్ని ఉపయోగిస్తుంది. వాస్తవానికి, మీరు దీన్ని మీ క్రాన్‌ఫైల్‌లో కాపీ చేసి పేస్ట్ చేయవచ్చు (నా హోస్ట్‌లో, ఇది ఉంది / var / spool / cron / ఫైల్ పేరుతో నా వినియోగదారు పేరు వలె ఉంటుంది).

# + —————- నిమిషం (0 - 59)
# | + ————- గంట (0 - 23)
# | | + ———- నెల రోజు (1 - 31)
# | | | + ——- నెల (1 - 12)
# | | | | + —- వారపు రోజు (0 - 6) (ఆదివారం = 0 లేదా 7)
# | | | | |
* * * * * /var/www/html/myscript.php

పైన పేర్కొన్నవి ప్రతి నిమిషం నా స్క్రిప్ట్‌ను అమలు చేస్తాయి. నేను గంటకు ఒకసారి మాత్రమే నడపాలని కోరుకుంటే, గంట తర్వాత ఎన్ని నిమిషాలు నడపాలని నేను కోరుకుంటున్నాను, అది 30 నిమిషాల మార్క్ వద్ద ఉంటే:

30 * * * * * /var/www/html/myscript.php

మీరు ఈ ఫైల్‌కు అనుమతులను ఎక్జిక్యూటబుల్‌గా సెట్ చేశారని నిర్ధారించుకోండి! టెర్మినల్ విండో నుండి వాక్యనిర్మాణం, అనుమతులు మరియు క్రోంటాబ్‌ను అమలు చేయడం చాలా ముఖ్యమైన కారకాలు అని నేను కనుగొన్నాను. ప్రతిసారీ నేను ఫైల్‌ను రీసేవ్ చేస్తాను, నా అనుమతులను రీసెట్ చేయాల్సిన అవసరం ఉందని నేను కనుగొన్నాను!

UPDATE: మీరు ఉద్యోగాలు నడుస్తున్నాయని నిర్ధారించుకోవాలనుకుంటే, చివరిసారిగా స్క్రిప్ట్ రన్ అయిన డేటాబేస్ ఫీల్డ్‌ను నవీకరించడం ఒక మార్గం. ఇది చాలా అరుదుగా ఉంటే, మీకు పంపిన ఇమెయిల్‌ను మీరు స్క్రిప్ట్ చేయవచ్చు.

అదనపు క్రాన్ వనరులు:

క్రాన్ ఉపయోగించి మీరు ఎన్ని ఉద్యోగాలు ఆటోమేట్ చేయవచ్చు?

8 వ్యాఖ్యలు

  1. 1

    క్రోజోబ్‌లకు కొత్తగా ఎవరికైనా, క్రాన్‌ను ఏర్పాటు చేయడంలో బాగా కప్పబడిన వ్యాసం, క్రాన్‌ను ఏర్పాటు చేయడంలో చాలా కష్టమైన భాగం క్రోన్‌జాబ్ ఎగ్జిక్యూషన్ విరామాన్ని గుర్తించడం మరియు మొదటి ప్రయత్నంలో తప్పు విరామం పొందడం చాలా కామన్. మీ క్రోన్‌జాబ్‌లు సమయం సున్నితంగా ఉంటే, స్థితిని ప్రతిధ్వనించడానికి స్క్రిప్ట్‌లో కొన్ని కోడ్‌లను చేర్చడం మంచిది, తద్వారా మీకు ఉద్యోగ అమలు స్థితి గురించి తెలియజేయబడుతుంది.

  2. 2

    హాయ్ డౌగ్,

    క్రాన్ ఉద్యోగాలతో పనిచేసేటప్పుడు పరిగణించవలసిన కొన్ని విషయాలు.

    మొదట, కొన్ని డజన్ల తర్వాత, మీకు UI, డేటాబేస్ మరియు ఆంగ్లంగా కనిపించే వాక్యనిర్మాణం have ఉండాలని మీరు కోరుకుంటారు

    రెండవది, ఉద్యోగం యొక్క మునుపటి ఆహ్వానం పూర్తయిందా అనే దానితో సంబంధం లేకుండా, నిర్దిష్ట సమయంలో క్రాన్ ఉద్యోగాన్ని కాల్చేస్తుంది. కాబట్టి నిమిషానికి 2 నిమిషాలు పట్టే పనిని నడపడం వల్ల అదే ఉద్యోగం చాలా త్వరగా నడుస్తుంది.

    తరువాత, ఏదో తప్పు జరిగినప్పుడు లోపం రిపోర్టింగ్ పక్కన లేదు, కాబట్టి మీరు మీ స్వంత లోపం రిపోర్టింగ్‌ను జోడించాలి.

    నేను వీటిని రెండు విధాలుగా పరిష్కరించాను:
    - అమలు చేయాల్సిన వాటిని నిర్ణయించడానికి డేటాబేస్లో క్రాన్ లుక్ ద్వారా అప్లికేషన్ ప్రారంభించబడిందా. మీకు కావలసినదాన్ని బట్టి నిమిషానికి లేదా గంటకు ఒకసారి దీన్ని అమలు చేయండి
    - ప్రతి స్క్రిప్ట్ / tmp లో 'లాక్' ఫైల్‌ను సృష్టించి, అది ఉన్నట్లయితే, మళ్ళీ ప్రారంభించవద్దు, మీకు నచ్చకపోతే ఇది నకిలీ ఉద్యోగాలను నిరోధిస్తుంది
    - స్క్రిప్ట్ 1 గంట కంటే పాత లాక్ ఫైల్‌ను కనుగొంటే (లేదా మీరు చనిపోయినట్లు సూచించినా) ఇమెయిల్ హెచ్చరికను పంపండి
    - ఉద్యోగం విఫలమైనప్పుడు స్క్రిప్ట్ ఇమెయిల్ పంపండి, అందువల్ల ఏదో తప్పు జరిగిందని మీకు తెలుసు
    - మీ అవసరాలు కొన్ని స్క్రిప్ట్‌లను మించినప్పుడు ఫ్లక్స్ లేదా వాణిజ్య షెడ్యూలర్ల వంటి ఫ్రేమ్‌వర్క్‌లను చూడండి

    క్రిస్

  3. 4

    నేను చాలా లైనక్స్ / యునిక్స్ సిస్టమ్స్‌లో కూడా చేర్చుతాను, మీ క్రోంటాబ్‌ను సవరించడానికి మీరు ఉపయోగించేది “క్రోంటాబ్ -ఇ”. భద్రతా కారణాల దృష్ట్యా మీ హోస్ట్ (జంప్‌లైన్) సవరించిన సంస్కరణను ఉపయోగిస్తోందని నేను భావిస్తున్నాను.

  4. 5

    నేను క్రోనీని కలిసిన మొదటి రోజు నాకు ఇప్పటికీ గుర్తుంది. నేను ఆమె గురించి విషయాలు విన్నాను, ఆమె నమ్మదగినది, ఎల్లప్పుడూ సమయానికి, కానీ కొన్నిసార్లు ఆమె ఉద్దేశ్యాల గురించి కొంచెం గందరగోళంగా ఉంటుంది.

    ఆమె మొదట నాకు పూర్తి రహస్యం కావడంతో ఇది నిజమని నేను గుర్తించాను. ఆమె గురించి అడిగిన తరువాత, ఆమె ఎలా పనిచేయడానికి ఇష్టపడుతుందో నేను చాలా త్వరగా తెలుసుకున్నాను. ఇప్పుడు, నా జీవితంలో ఆమె లేకుండా ఒక రోజు వెళుతుందని నేను imagine హించలేను. ఆమె ప్రాపంచిక ఉత్తేజకరమైనదిగా చేస్తుంది మరియు చాలా భారాన్ని నా భుజాల నుండి ఎత్తివేస్తుంది.

    అన్ని తీవ్రతలలో, నేను క్రాన్ ఉద్యోగాలతో ఆటోమేట్ చేయగలిగే దానితో మాత్రమే ఉపరితలం గీయబడినట్లు అనిపిస్తుంది. వారు నిజంగా డెవలపర్స్ బెస్ట్ ఫ్రెండ్. మీ సర్వర్‌ను నిర్వహించడానికి మీరు CPanel వంటి వారిని ఉపయోగిస్తుంటే, ఇది క్రోన్‌లను సృష్టించడానికి మరింత స్నేహపూర్వక ఇంటర్‌ఫేస్‌ను అందిస్తుంది. మీ కోసం క్రాన్ లైన్‌ను నిర్మించే నిమిషం, గంట, రోజు, నెల మొదలైన వాటి కోసం డ్రాప్ డౌన్ మెనులతో పూర్తి చేయండి.

  5. 7

    ఇది ప్రతి విక్రయదారుడు ఉపయోగించాల్సిన విషయం అని నేను ఖచ్చితంగా చూస్తున్నాను… ఈ సేవను అందించగల ఎవరైనా ఉన్నారా ఎందుకంటే ఇది కొంచెం “టెక్కీ” గా అనిపిస్తుంది?

మీరు ఏమి ఆలోచిస్తాడు?

స్పామ్ తగ్గించడానికి ఈ సైట్ Akismet ను ఉపయోగిస్తుంది. మీ వ్యాఖ్య డేటా ఎలా ప్రాసెస్ చేయబడిందో తెలుసుకోండి.