വെബ്‌സൈറ്റുകൾക്ക് ക്രോൺ ഉപയോഗിച്ച് ഷെഡ്യൂൾഡ് ടാസ്‌ക്കുകൾ പ്രവർത്തിപ്പിക്കാൻ കഴിയും

ക്ലോക്ക്

പ്രോസസ്സുകൾ പതിവായി നടപ്പിലാക്കുന്ന അനാവശ്യ മോണിറ്ററിംഗ് സിസ്റ്റങ്ങൾ ഞങ്ങളുടെ പക്കലുണ്ട്. ചിലത് ഓരോ മിനിറ്റിലും ഓടുന്നു, ചിലത് അവർ ചെയ്യുന്നതിനെ ആശ്രയിച്ച് രാത്രിയിൽ ഒരിക്കൽ. ഉദാഹരണത്തിന്, 30 ദിവസത്തിനുള്ളിൽ വാങ്ങാത്ത എല്ലാ ഉപഭോക്താക്കളെയും ഒരു കൂപ്പൺ അയയ്‌ക്കുന്നതിന് എക്‌സ്‌പോർട്ടുചെയ്യുന്ന ഒരു സ്‌ക്രിപ്റ്റ് ഞങ്ങൾ നിർവ്വഹിച്ചേക്കാം.

ഇവയെല്ലാം കൈകൊണ്ട് സൂക്ഷിക്കാൻ ശ്രമിക്കുന്നതിനുപകരം, യാന്ത്രികമായി ഷെഡ്യൂൾ ചെയ്യുകയും നടപ്പിലാക്കുകയും ചെയ്യുന്ന ജോലികൾ നിർമ്മിക്കുന്നത് വളരെ എളുപ്പമാണ്. യുണിക്സ് അടിസ്ഥാനമാക്കിയുള്ള സിസ്റ്റങ്ങളിൽ, ഇത് ക്രോൺ ഉപയോഗിച്ച് പൂർത്തിയാക്കുന്നു. നിങ്ങൾ എന്താണ് ചെയ്യുന്നതെന്ന് അറിയുന്ന നിങ്ങൾ‌ക്ക്, ഞാൻ‌ എന്തെങ്കിലും തെറ്റായ വിവരങ്ങൾ‌ നൽ‌കുകയാണെങ്കിൽ‌ എന്നെയും വായനക്കാരെയും ബോധവൽക്കരിക്കാൻ മടിക്കേണ്ടതില്ല.

ഇത് നിർഭാഗ്യകരമാണ്, പക്ഷേ സാധാരണ വെബ് ഡെവലപ്പർക്ക് ക്രോണിനെ പരിചയമില്ല. അവ ആണെങ്കിൽപ്പോലും, വെബ് ഹോസ്റ്റിംഗ് കമ്പനികൾ പലപ്പോഴും ക്രോണിലേക്കുള്ള ആക്സസ് അല്ലെങ്കിൽ പിന്തുണ നൽകുന്നില്ല. എന്റെ ഹോസ്റ്റ് രണ്ടാമത്തേതിൽ ഒന്നാണ് - അവ ഉപയോഗിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു, പക്ഷേ അവർ അതിനെ പിന്തുണയ്ക്കുന്നില്ല.

എന്താണ് ക്രോൺ?

ക്രോൺ ഗ്രീക്ക് പദമായ ക്രോനോസ് എന്നാണ് ഇതിനർത്ഥം കാലം. ക്രോൺടാബ് ശേഖരിച്ച ടാസ്‌ക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് ക്രോൺ തുടർച്ചയായ ലൂപ്പിൽ പ്രവർത്തിക്കുന്നു (ഒരുപക്ഷേ ഇതിന് പേരിട്ടിരിക്കാം ടാബ്ulator. ആ ടാസ്കുകളെ സാധാരണയായി ക്രോൺജോബ്സ് എന്ന് വിളിക്കുന്നു, മാത്രമല്ല നിങ്ങളുടെ സൈറ്റിലെ സ്ക്രിപ്റ്റുകൾ റഫറൻസ് ചെയ്യാനും കഴിയും.

ക്രോൺ ഡയഗ്രം വിശദീകരണം

ക്രോണ്ടാബ് എങ്ങനെ സജ്ജീകരിക്കും

ക്രോൺ യഥാർത്ഥത്തിൽ പ്രവർത്തിപ്പിക്കുന്നത് വെല്ലുവിളിയാകും, അതിനാൽ ഞാൻ പഠിച്ചതും ഞാൻ അത് എങ്ങനെ ചെയ്തുവെന്നതും ഇവിടെയുണ്ട് സക്ക് എങ്കിൽ:

  1. ട്വിറ്ററിന്റെ പരിശോധനയ്ക്കായി ഞാൻ എന്റെ സ്ക്രിപ്റ്റ് സജ്ജമാക്കി എപിഐ ആരെങ്കിലും മറുപടി നൽകിയിട്ടുണ്ടോ എന്നറിയാൻ sifsuck. ഞാൻ ഇതിനകം തന്നെ വെബ്‌സൈറ്റിൽ സംരക്ഷിച്ച സന്ദേശങ്ങളുമായി താരതമ്യപ്പെടുത്തി, പുതിയവയിലേക്ക് പ്രവേശിക്കുന്നു.
  2. സ്ക്രിപ്റ്റ് പ്രവർത്തിച്ചുകഴിഞ്ഞാൽ, സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് ഞാൻ ഉപയോക്താവിന് അനുമതികൾ പ്രാപ്തമാക്കി (744) കൂടാതെ എന്റെ ക്രോൺജോബ് ഫയലിലേക്ക് സ്ക്രിപ്റ്റ് റഫറൻസ് ചേർത്തു - പിന്നീട് അതിൽ കൂടുതൽ.
  3. എനിക്ക് പിന്നീട് SSH വഴി എന്റെ വെബ്‌സൈറ്റിലേക്ക് ലോഗിൻ ചെയ്യേണ്ടിവന്നു. ഒരു മാക്കിൽ, അത് ടെർമിനൽ തുറന്ന് ടൈപ്പുചെയ്യുന്നു SSH username@domain.com അവിടെ ഉപയോക്തൃനാമം ഞാൻ ഉപയോഗിക്കാൻ ആഗ്രഹിച്ച ഉപയോക്തൃനാമവും ഡൊമെയ്ൻ വെബ്‌സൈറ്റുമായിരുന്നു. എന്നോട് ആവശ്യപ്പെടുകയും പാസ്‌വേഡ് നൽകുകയും ചെയ്‌തു.
  4. സെർവറിലെ ഫയൽ നാമവും ആപേക്ഷിക പാതയും ടൈപ്പുചെയ്ത് കമാൻഡ് പ്രോംപ്റ്റിൽ നിന്ന് നേരിട്ട് സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കാൻ ഞാൻ ശ്രമിച്ചു: /var/www/html/myscript.php
  5. ശരിയായി പ്രവർത്തിച്ചുകഴിഞ്ഞാൽ, ഫയലിന്റെ ആദ്യ വരിയിൽ ആവശ്യമായ യുണിക്സ് കോഡ് ചേർത്തു: #! / usr / bin / php -q . സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് പി‌എച്ച്പി ഉപയോഗിക്കാൻ ഇത് യുണിക്സിനോട് പറയുന്നുവെന്ന് ഞാൻ വിശ്വസിക്കുന്നു.
  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

ഈ ഫയലിലേക്കുള്ള അനുമതികൾ എക്സിക്യൂട്ടബിൾ ആയി സജ്ജമാക്കിയിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക! ടെർമിനൽ വിൻഡോയിൽ നിന്ന് വാക്യഘടന, അനുമതികൾ, ക്രോന്റാബ് എക്സിക്യൂട്ട് എന്നിവ ഏറ്റവും പ്രധാനപ്പെട്ട ഘടകങ്ങളാണെന്ന് ഞാൻ കണ്ടെത്തി. ഓരോ തവണയും ഞാൻ ഫയൽ റിസർവ് ചെയ്യുമ്പോൾ, എന്റെ അനുമതികളും പുന reset സജ്ജമാക്കേണ്ടതുണ്ട്.

അപ്‌ഡേറ്റ്: ജോലികൾ പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, അവസാനമായി ഒരു സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ച ഡാറ്റാബേസ് ഫീൽഡ് അപ്‌ഡേറ്റ് ചെയ്യുക എന്നതാണ്. ഇത് കൂടുതൽ അപൂർവമാണെങ്കിൽ, നിങ്ങൾക്ക് അയച്ച ഇമെയിൽ സ്ക്രിപ്റ്റ് ചെയ്യാം.

അധിക ക്രോൺ ഉറവിടങ്ങൾ:

ക്രോൺ ഉപയോഗിച്ച് നിങ്ങൾക്ക് എത്ര ജോലികൾ ഓട്ടോമേറ്റ് ചെയ്യാനാകും?

8 അഭിപ്രായങ്ങള്

  1. 1

    ഒരു ക്രോൺ സജ്ജീകരിക്കുന്നതിനെക്കുറിച്ചുള്ള നന്നായി ഉൾക്കൊള്ളുന്ന ലേഖനം, ക്രോജോബുകളിൽ പുതിയ ഒരാൾക്ക്, ഒരു ക്രോൺ സജ്ജീകരിക്കുന്നതിലെ ഏറ്റവും പ്രയാസമേറിയ ഭാഗം ക്രോൺജോബ് എക്സിക്യൂഷൻ ഇടവേള കണ്ടെത്തുക എന്നതാണ്, ആദ്യ ശ്രമത്തിൽ തന്നെ തെറ്റായ ഇടവേള ലഭിക്കുന്നത് തികച്ചും പൊതുവായ കാര്യമാണ്. നിങ്ങളുടെ ക്രോൺ‌ജോബുകൾ‌ സമയ സെൻ‌സിറ്റീവ് ആണെങ്കിൽ‌, സ്റ്റാറ്റസ് എക്കോ to ട്ട് ചെയ്യുന്നതിന് സ്ക്രിപ്റ്റിൽ‌ ചില കോഡുകൾ‌ ഉൾ‌പ്പെടുത്തുന്നത് നല്ലതാണ്, അതുവഴി ജോലി നിർവഹണ നിലയെക്കുറിച്ച് നിങ്ങളെ അറിയിക്കും.

  2. 2

    ഹായ് ഡഗ്,

    ക്രോൺ ജോലികളുമായി പ്രവർത്തിക്കുമ്പോൾ ശ്രദ്ധിക്കേണ്ട രണ്ട് കാര്യങ്ങൾ.

    ആദ്യം, കുറച്ച് ഡസൻ കഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ഒരു യുഐ, ഒരു ഡാറ്റാബേസ്, ഇംഗ്ലീഷ് രൂപത്തിലുള്ള വാക്യഘടന എന്നിവ ഉണ്ടായിരിക്കണമെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുന്നു

    രണ്ടാമതായി, ജോലിയുടെ മുമ്പത്തെ ക്ഷണം പൂർത്തിയായിട്ടുണ്ടോ എന്നത് പരിഗണിക്കാതെ, നിർദ്ദിഷ്ട സമയത്ത് ക്രോൺ ജോലിയിൽ നിന്ന് പുറത്താക്കും. അതിനാൽ ഒരു മിനിറ്റിൽ ഒരിക്കൽ 2 മിനിറ്റ് എടുക്കുന്ന ജോലി ഒരേ ജോലിയിൽ തന്നെ നയിക്കും.

    അടുത്തതായി, എന്തെങ്കിലും തെറ്റ് സംഭവിക്കുമ്പോൾ പിശക് റിപ്പോർട്ടിംഗിന് അടുത്താണ്, അതിനാൽ നിങ്ങളുടേതായ പിശക് റിപ്പോർട്ടിംഗ് ചേർക്കേണ്ടതുണ്ട്.

    ഞാൻ ഇവയെ രണ്ട് തരത്തിൽ അഭിസംബോധന ചെയ്തു:
    - എന്താണ് പ്രവർത്തിപ്പിക്കേണ്ടതെന്ന് നിർണ്ണയിക്കാൻ ഒരു ഡാറ്റാബേസിലെ ക്രോൺ ലുക്ക് വഴി അപ്ലിക്കേഷൻ പ്രവർത്തനക്ഷമമാക്കി. നിങ്ങൾക്ക് ആവശ്യമുള്ളത് അനുസരിച്ച് ഒരു മിനിറ്റോ മണിക്കൂറോ ഒരിക്കൽ ഇത് പ്രവർത്തിപ്പിക്കുക
    - ഓരോ സ്ക്രിപ്റ്റും / tmp- ൽ ഒരു 'ലോക്ക്' ഫയൽ സൃഷ്ടിക്കുക, അത് നിലവിലുണ്ടെങ്കിൽ, വീണ്ടും ആരംഭിക്കരുത്, തനിപ്പകർപ്പ് ജോലികൾ നിങ്ങൾക്ക് ആവശ്യമില്ലെങ്കിൽ ഇത് തടയുന്നു
    - സ്‌ക്രിപ്റ്റ് 1 മണിക്കൂറിൽ കൂടുതൽ പഴയ ലോക്ക് ഫയൽ കണ്ടെത്തിയാൽ (അല്ലെങ്കിൽ നിങ്ങൾ മരിച്ചുവെന്ന് സൂചിപ്പിക്കുന്നതെന്തും) ഒരു ഇമെയിൽ അലേർട്ട് അയയ്‌ക്കുക
    - ജോലിയുടെ പരാജയത്തെക്കുറിച്ച് സ്ക്രിപ്റ്റ് ഇമെയിൽ അയയ്‌ക്കുന്നതിലൂടെ എന്തെങ്കിലും തെറ്റ് സംഭവിച്ചതായി നിങ്ങൾക്കറിയാം
    - നിങ്ങളുടെ ആവശ്യങ്ങൾ‌ കുറച്ച് സ്‌ക്രിപ്റ്റുകൾ‌ക്ക് അപ്പുറമാകുമ്പോൾ ഫ്ലക്സ് അല്ലെങ്കിൽ‌ വാണിജ്യ ഷെഡ്യൂളറുകൾ‌ പോലുള്ള ഫ്രെയിംവർ‌ക്കുകൾ‌ നോക്കുക

    ക്രിസ്

    • 3

      ക്രിസ് - ആകർഷണീയമായ ഉപദേശം! ഞാൻ ആ ചട്ടക്കൂടുകളും പരിശോധിക്കും, അവ എന്റെ ജോലിയിൽ ഉപയോഗപ്രദമാകും.

  3. 4

    മിക്ക ലിനക്സ് / യുണിക്സ് സിസ്റ്റങ്ങളിലും നിങ്ങളുടെ ക്രോന്റാബ് എഡിറ്റുചെയ്യാൻ നിങ്ങൾ ഉപയോഗിക്കുന്നതാണ് “ക്രോന്റാബ് -ഇ”. സുരക്ഷാ കാരണങ്ങളാൽ നിങ്ങളുടെ ഹോസ്റ്റ് (ജമ്പ്‌ലൈൻ) പരിഷ്‌ക്കരിച്ച പതിപ്പ് ഉപയോഗിക്കുന്നുവെന്ന് ഞാൻ കരുതുന്നു.

  4. 5

    ക്രോണിയെ കണ്ടുമുട്ടിയ ആദ്യ ദിവസം ഞാൻ ഇപ്പോഴും ഓർക്കുന്നു. ഞാൻ അവളെക്കുറിച്ച് കാര്യങ്ങൾ കേട്ടിട്ടുണ്ട്, അവൾ വിശ്വസനീയനാണെന്നും എല്ലായ്പ്പോഴും കൃത്യസമയത്താണെന്നും എന്നാൽ ചിലപ്പോൾ അവളുടെ ഉദ്ദേശ്യങ്ങളെക്കുറിച്ച് അൽപ്പം ആശയക്കുഴപ്പമുണ്ടാകുമെന്നും.

    ആദ്യം ഇത് എനിക്ക് ഒരു പൂർണ്ണ രഹസ്യമായതിനാൽ ഇത് ശരിയാണെന്ന് ഞാൻ കണ്ടെത്തി. അവളെക്കുറിച്ച് ചുറ്റും ചോദിച്ചതിന് ശേഷം, അവൾ എങ്ങനെ പ്രവർത്തിക്കാൻ ഇഷ്ടപ്പെടുന്നുവെന്ന് ഞാൻ വളരെ വേഗം മനസ്സിലാക്കി. ഇപ്പോൾ, എന്റെ ജീവിതത്തിൽ അവളില്ലാതെ ഒരു ദിവസം കടന്നുപോകുമെന്ന് എനിക്ക് സങ്കൽപ്പിക്കാൻ കഴിയില്ല. അവൾ ല und കികതയെ ആവേശഭരിതനാക്കുന്നു, ഒപ്പം എൻറെ ചുമലിൽ നിന്ന് പല ഭാരങ്ങളും ഉയർത്തുന്നു.

    എല്ലാ ഗൗരവത്തിലും, ക്രോൺ ജോലികൾ ഉപയോഗിച്ച് എനിക്ക് ഓട്ടോമേറ്റ് ചെയ്യാൻ കഴിയുന്നവ ഉപയോഗിച്ച് ഞാൻ ഉപരിതലത്തിൽ മാന്തികുഴിയുണ്ടെന്ന് എനിക്ക് തോന്നുന്നു. അവർ തീർച്ചയായും ഒരു ഡവലപ്പർമാരുടെ ഉത്തമസുഹൃത്താണ്. നിങ്ങളുടെ സെർവർ മാനേജുചെയ്യാൻ നിങ്ങൾ CPanel പോലുള്ള ഒരാളെ ഉപയോഗിക്കുകയാണെങ്കിൽ, ക്രോണുകൾ സൃഷ്ടിക്കുന്നതിന് ഇത് കൂടുതൽ സൗഹാർദ്ദപരമായ ഇന്റർഫേസ് നൽകുന്നു. നിങ്ങൾക്കായി ക്രോൺ ലൈൻ നിർമ്മിക്കുന്ന മിനിറ്റ്, മണിക്കൂർ, ദിവസം, മാസം മുതലായവയ്‌ക്കായി ഡ്രോപ്പ് ഡൗൺ മെനുകൾ ഉപയോഗിച്ച് പൂർത്തിയാക്കുക.

    • 6

      CPanel വികസിച്ചതായി തോന്നുന്നു. ഞാൻ അവസാനമായി ഇത് ഉപയോഗിച്ചപ്പോൾ, വിൻഡോസ് 3.11 പോലെ കാണപ്പെട്ടു. 🙂

  5. 7

    ഇത് തീർച്ചയായും എല്ലാ വിപണനക്കാരും ഉപയോഗിക്കേണ്ട ഒന്നാണെന്ന് ഞാൻ കാണുന്നു… ഈ സേവനം നൽകാൻ കഴിയുന്ന ആരെങ്കിലും ഉണ്ടോ, കാരണം ഇത് അൽപ്പം “ടെക്കി” ആണെന്ന് തോന്നുന്നു.

    • 8

      നല്ല ചോദ്യം, കാലെബ്! എനിക്കൊന്നും അറിയില്ല, പക്ഷേ മറ്റ് നേട്ടങ്ങൾ പ്രതികരിക്കാൻ ഞാൻ അനുവദിക്കും.

നീ എന്ത് ചിന്തിക്കുന്നു?

സ്പാം കുറയ്ക്കുന്നതിന് ഈ സൈറ്റ് Akismet ഉപയോഗിക്കുന്നു. നിങ്ങളുടെ അഭിപ്രായ ഡാറ്റ പ്രോസസ്സുചെയ്യുന്നത് എങ്ങനെയെന്നറിയുക.