استفاده از مشاغل CRON در CloudFlare Workers از طریق Wrangler – CloudSavvy IT


Cloudflare Workers ثابت کرده است که یک راه حل منحصر به فرد و قدرتمند برای محاسبات بدون سرور است. با اضافه شدن مشاغل جدید CRON ، اکنون می توانید Cloudflare Workers را بدون اتکا به ماشه خارجی بر اساس یک برنامه انجام دهید. در این مقاله ، ما چگونگی تنظیم اسکریپت جدید ، پیاده سازی آن در Cloudflare و در نهایت اجرای این اسکریپت با CRON را بررسی می کنیم.

شروع کار با Wrangler

قبل از اینکه بتوانیم یک اسکریپت جدید در Cloudflare مستقر کنیم ، باید ابزار خط فرمان Wrangler را نصب و پیکربندی کنیم تا اسکریپت جدید کارمند را مستقر کنیم.

ابزار خط فرمان Wrangler را نصب کنید

برای ایجاد طرح بندی سایت ، Cloudflare ابزار خط فرمان Wrangler را ایجاد کرد. Wrangler نیاز به نصب از طریق NPM (NodeJS Package Manager) یا Cargo (Rust Language Package Manager) دارد.

نصب NPM

npm i @cloudflare/wrangler -g

بار

cargo install wrangler

cargo install wrangler --features sys-openssl

وارد Wrangler شوید و سایتی ایجاد کنید

ابتدا با استفاده از Wrangler وارد Cloudflare می شویم. برای این منظور ما از جدید استفاده می کنیم wrangler login ویژگی. با این کار شما می توانید یک صفحه وب را باز کنید ، و اگر قبلاً در Cloudflare احراز هویت شده اید ، تأیید اعتبار خیلی سریع اتفاق می افتد. در غیر این صورت ، وارد سیستم شوید و Wrangler به طور خودکار برچسب API را پیکربندی می کند.

wrangler login

همانطور که از محل پیکربندی می بینید ، وجود دارد .toml فایلی که اکنون دارای رمز API شماست تا همه عملیات های بعدی را یکپارچه کند. این پرونده در فهرست خانه کاربر موجود است و در زیر شاخه ذخیره می شود .wrangler\config\default.toml.

برای درخواست CRON وردپرس یک اسکریپت Cloudflare Worker ایجاد کنید

در این مقاله ، ما یک کارگر ساده Cloudflare ایجاد خواهیم کرد که به سادگی سال خواهد کرد wp-cron.php پرونده در برنامه. روش کار وردپرس به این صورت است که هنگام درخواست یک صفحه ، سعی می شود تمام کارهای داخلی CRON که تعریف شده است را اجرا کند. این بدان معنی است که کارها فقط گاهی با یک سایت کم حجم انجام می شوند و می توانند به یک سایت با حجم زیاد آسیب برسانند. این همیشه با برخی میزبانی ها امکان پذیر نیست ، بنابراین می توانید تنظیمات یکسانی را تعریف کنید ، اما سیستم CRON وردپرس را به صورت خارجی اجرا کنید.

ما باید تنظیمات پیش فرض CRON وردپرس را با استفاده از پیکربندی زیر غیرفعال کنیم wp-config.php. این از لحظه ذخیره شدن فایل اعمال می شود.

define('DISABLE_WP_CRON', true);

به طور معمول ، اسکریپت های فعال فقط در صورت فراخوانی فعال می شوند. در این حالت ، ما قصد داریم CRON را اجرا کنیم تا این برنامه هر پنج دقیقه یکبار اجرا شود.

کارگران Cloudflare ، برنامه ریزی شده توسط CRON ، روی ماشین های کم مصرف کار می کنند تا از منابع بهینه استفاده کنند.

برای ایجاد CRON پیکربندی ایجاد کنید

Cloudflare Worker CRON نحو آشنای Unix CRON را تحریک می کند. این باعث می شود که او بلافاصله از منابع آموزشی غنی پشت سر خود آگاه شود. حتی می توانید چندین عامل CRON را برای یک اسکریپت فعال تعریف کنید ، حداکثر تا حد مجاز سه. نحو پیکربندی مانند کد زیر است که نشانگر ماشه در هر 5 دقیقه است.

[triggers]crons = ["*/5 * * * *"]

هنگامی که پیکربندی ماشه را بدست آوردیم ، چگونه همه چیز را کامپایل کنیم تا اسکریپت خود را در وسط Cloudflare قرار دهیم؟

اسکریپت CRON وردپرس را پیاده سازی کرده و کار CRON را برنامه ریزی کنید

برای ایجاد همه پرونده های لازم و راه اندازی یک جاوا اسکریپت ساده ، می توانیم از دستور تولید داخلی که wrangler دارد استفاده کنیم. این یک دایرکتوری به نام ایجاد می کند wordpress-cron که شامل همه موارد لازم برای استقرار یک کارگر مبتنی بر javascript است.

# Generate simple javascript Cloudflare Worker scaffold
wrangler generate wordpress-cron

سپس تغییر دهید index.js پرونده ای که ایجاد می شود. در اسکریپت ما فقط تماس می گیریم wp-cron.php پرونده با پارامتر doing_wp_cron. هنگامی که این فراخوانی می شود ، تمام مشاغل CRON که باید تکمیل شوند ، انجام می شوند.

addEventListener("fetch", event => {
  return event.respondWith(
    fetch("<https://mysite.com/wp-cron.php?doing_wp_cron>")
  )
})

در آخر ، باید موارد خود را به روز کنید wrangler.toml فایلی که شامل اطلاعات لازم است. فایل پیکربندی را به روز کنید تا شامل پرونده شما شود acccount_id و zone_id. برای دریافت این مقادیر ، داشبورد اصلی سایت خود را پیدا کرده و به پایین پیمایش کنید تا برگه API را پیدا کنید. شناسه حساب و شناسه منطقه وجود دارد.

name = "wordpress-cron"
type = "javascript"
account_id = "account_id"
workers_dev = false
route = "*mysite.com/wordpress-cron*"
zone_id = "zone_id"
[triggers]
crons = ["*/5 * * * *"]

این مسیر با هر پروتکل مطابقت دارد ، http یا httpsو هر پارامتر یا مسیر اضافی در خارج wordpress-cron بخش. با خیال راحت آنچه را می خواهید انجام دهید. در واقع ، این به شما امکان می دهد اسکریپت را به صورت دستی اجرا کنید ، اما اجرای CRON در اکثر مواقع از پس آن برمی آید.

سرانجام ، ما باید این کارگر را مستقر کنیم ، همانطور که در زیر نشان داده شده است ، می توانید با استفاده از دستور انتشار این کار را انجام دهید.

wrangler publish

پس از اجرای اسکریپت و اولین راه اندازی ، می توانید آمار و اطلاعات را در صفحه داشبورد Cloudflare Workers مشاهده کنید.

نتیجه

این مثال ساده از استفاده از عوامل CRON با Cloudflare Workers به ​​سادگی سطح احتمالات را خراشیده می کند. کاوش کارگران Cloudflare و اینکه چگونه این فناوری بدون سرور می تواند امروز در جریان کار شما جای بگیرد ، شروع کنید!


منبع: khabar-mehman.ir

دیدگاهتان را بنویسید

Comment
Name*
Mail*
Website*