Ավտոմատացված Cron առաջադրանքների ակնարկ
Cron-ի կարգավորումը կարևոր քայլ է վեբկայքի տեղադրման ընթացքում և օգնում է կայքի ռեսուրսների սպասարկմանը՝ որոնման արդյունքների համար, Drupal միջուկի և մոդուլների թարմացումների ստուգմանը և ժամանակավոր ֆայլերի հեռացմանը։
Ճիշտ կազմված cron առաջադրանքը ղեկավարում է բազմաթիվ գործառույթներ՝
- Թարմացնում է կայքի բովանդակության ինդեքսը, որն օգտագործվում է որոնման մոդուլի կողմից։
- Թարմացնում է հերթերում գտնվող սնուցումները, որոնք կկառավարվեն ագրեգատորի մոդուլով։
- Ստուգում է թարմացումների առկայությունը թարմացման մենեջեր մոդուլի համար։
- Կատարում է սովորական սպասարկման գործառույթներ, ինչպիսիք են հին հաղորդագրությունների ջնջումը համակարգի մոդուլի համար։
Ինչ է cron-ը?
Cron-ը դեմն է, որը կատարում է հրամաններ որոշված ժամանակահատվածներով։ Այս հրամանները կոչվում են «cron առաջադրանքներ»։ Cron-ը հասանելի է Unix, Linux և Mac սերվերներում։ Windows սերվերները օգտագործում են նախագծված առաջադրանքներ հրամաններ կատարելու համար։ Իրական «cron առաջադրանքը» ժամանակային նախաձեռնված գործողություն է, որը սովորաբար (և առավել արդյունավետ) կատարվում է ձեր կայքի հյուրընկալող սերվերի կողմից, բայց կարող է նաև կարգավորվել հեռավոր սերվերի կամ նույնիսկ ձեր աշխատասեղանից։
Իրականում տեղի է ունենում այնպես, որ cron առաջադրանքը այցելում է cron.php ֆայլը ձեր կայքի URL-ով, օրինակ՝ http://www.example.com/cron.php?cron_key=0MgWtfB33FYbbQ5UAC3L0LL3RC0PT3RNUBZILLA0Nf1Re։ cron.php ֆայլի ճշգրիտ հասցեն կարող եք գտնել «Կառավարում»> «Հաշվետվություններ»> «Կարգավիճակի հաշվետվություն» (admin/reports/status) էջում՝ «Cron սպասարկման առաջադրանքներ» բաժնում։
cron-ի միացում
Ամենապարզ եղանակը թույլ տալն է, որ Drupal-ը ավտոմատ կատարի դա ձեր փոխարեն (ինչը կատարվում է լռելյայն), օգտագործելով ներառված «ավտոմատացված cron» համակարգը։ Դուք կարող եք կառավարել «ավտոմատ cron»-ը՝ գնալով Կառավարում> Կարգավորումներ> Համակարգ> Cron (admin/config/system/cron)։ Լռելյայն հաճախականությունը յուրաքանչյուր երեք ժամն է։ Դրանից հետո cron-ը կկոչվի ձեր կայք այցելող վերջնական օգտատերերի կողմից ոչ ավելի հաճախ, քան երեք ժամում մեկ անգամ։ Հիշեք, որ ցածր երթևեկությամբ կայքերի համար նույնպես ցանկալի է ստեղծել cron առաջադրանք։ Եթե ցանկանում եք անջատել ավտոմատ cron-ը, փոխեք «Կատարել cron յուրաքանչյուր» բացվող ցանկը «երբեք»-ի վրա։
Ավտոմատացված cron համակարգը համատեղելի է բոլոր համակարգերի հետ, որովհետև այն իրականում չի օգտագործում համակարգային cron դեմոնը։ Այն աշխատում է՝ ստուգելով յուրաքանչյուր Drupal հարցումից հետո, թե երբ է վերջին անգամ աշխատել cron-ը, և եթե այն եղել է բավականին վաղ, կատարում է cron առաջադրանքները այդ հարցման մաս։ Երկու թերություն՝ (1) cron առաջադրանքները կկատարվեն միայն երբ Drupal-ն աշխատում է հարցումների հետ, և (2) cron-ի գործարկման «քաշը» (համակարգում և հիշողություն) կավելանա որևէ պատահական հարցման ծանրաբեռնվածության հետ, ինչը կարող է դանդաղեցնել այդ հարցումները և հնարավոր է գերազանցել հիշողության սահմանները բարդ կայքերում։
Երկրորդ եղանակը (որը կիրառելի է Drupal-ի ցանկացած տարբերակի համար)՝ ստեղծել cron առաջադրանք կամ օգտագործել որևէ այլ արտաքին (Drupal-ից անկախ) մեթոդ cron առաջադրանքներ գործարկելու համար, օրինակ՝ արտաքին cron ծառայություններ, ինչպիսիք են EasyCron կամ Cronless։ Սա ավելի հուսալի մեթոդ է (քանի որ միշտ կկատարվի ըստ պլանի) և քիչ ռեսուրսներ է օգտագործում (քանի որ cron-ի գործարկումը չի ավելանում էջի հարցմանը)։ Ահա թե ինչու, սովորաբար սա նախընտրելի եղանակն է cron գործարկելու, երբ ընտրության հնարավորություն ունեք։ Հիշեք, եթե դուք ստեղծում եք cron առաջադրանք, կարող եք ամբողջությամբ անջատել «cron» համակարգը։
«Ավտոմատ cron»-ի անջատում
Աշխատանքի արդյունավետության կամ այն դեպքում, երբ ցանկանում եք, որ cron-ը աշխատի միայն արտաքին խթանիչով, ցանկալի է անջատել ավտոմատացված cron համակարգը։
Դուք կարող եք անջատել այն՝ սահմանելով «Կատարել cron յուրաքանչյուր» պարամետրը «երբեք» արժեքին (օրինակ՝ Կառավարում> Կարգավորումներ> Համակարգ> Cron (admin/config/system/cron) էջում)։
Մյուս եղանակը Drupal 8-ում cron անջատելու համար հետևյալ տողը ավելացնելն է settings.php ֆայլում՝
$config['automated_cron.settings']['interval'] = 0;
Նշեք, որ սա փոփոխում է admin/config/system/cron կարգավորումը «երբեք»-ի և ադմինիստրատոր իրավունքներ ունեցող օգտատերերը չեն կարող փոխել այս կարգավորումը։
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.