رفتن به محتوا
cloudhost
صف‌ها

کار سنگین را از مسیر درخواست بیرون ببرید.

فانکشن یا برنامهٔ شما پیام را در صف می‌گذارد و فوراً پاسخ می‌دهد. یک فانکشن، یک آدرس HTTPS یا برنامهٔ خودتان پیام‌ها را می‌گیرد، با تلاش دوباره، صف مرده برای آنچه شکست خورد و زمان‌بندی برای کارهای تکراری.

آنچه می‌گیرید

  • env.JOBS و API

    با send یا sendBatch از هر فانکشن یا برنامه، یا با API از هر جایی پیام بفرستید، با تأخیر دلخواه و شناسهٔ تکرار تا یک پیام دو بار ثبت نشود. بدنه هر مقدار JSON تا ۱۲۸ کیلوبایت.

  • فانکشن مصرف‌کننده

    هندلر queue(batch, env) یک فانکشن پیام‌ها را در دسته‌هایی تا ۱۰۰ تایی می‌گیرد. اندازهٔ دسته، زمان انتظار و هم‌زمانی با شماست.

  • تحویل به یک آدرس

    هر پیام با POST به هر آدرس HTTPS فرستاده می‌شود، امضاشده با هدرهای Standard Webhooks تا گیرنده با هر کتابخانهٔ Standard Webhooks آن را بررسی کند. پاسخ 2xx یعنی تایید.

  • برداشتن از بیرون

    برنامه‌ای بیرون از پلتفرم پیام‌ها را با HTTPS برمی‌دارد (pull) و پس از کار تایید می‌کند (ack)؛ پیام تاییدنشده پس از مهلت دوباره در دسترس است.

  • تلاش دوباره با فاصلهٔ فزاینده

    پیامی که پردازش نشد دوباره تحویل می‌شود و فاصله هر بار دو برابر می‌شود، تا سقفی که برای صف تعیین می‌کنید (تا ۱۰۰ بار).

  • صف مرده

    بعد از آخرین تلاش، پیام با دلیلش به صف مرده می‌رود. آن را ببینید، دوباره به صف برگردانید یا پاک کنید.

  • زمان‌بندی

    یک عبارت cron با منطقهٔ زمانی (پیش‌فرض تهران) هر بار پیامی به یک صف، یک فانکشن یا یک آدرس می‌فرستد.

  • تحویل دست‌کم یک‌بار

    پیام پیش از آنکه send پاسخ دهد ذخیرهٔ ماندگار شده است؛ از کار افتادن یک سرور آن را گم نمی‌کند.

  • شاخص‌ها و نگاه به پیام‌ها

    پیام‌های منتظر، در حال پردازش و با تأخیر، سن قدیمی‌ترین، نرخ فرستادن، تحویل و شکست. پیام‌ها را ببینید، صف را متوقف یا خالی کنید.

یک صف، سه راه مصرف

یک فانکشن، یک آدرس HTTPS یا برنامهٔ خودتان با pull. پاسخ عادی یعنی تایید؛ خطا یعنی تلاش دوباره با فاصلهٔ فزاینده.

cloudhost queues create jobs-failed
cloudhost queues create jobs --dead-letter-queue jobs-failed --max-retries 5
cloudhost queues consumer jobs worker --batch-size 10
cloudhost schedules create "0 3 * * *" --queue jobs --body '{"task":"nightly"}'

به ازای هر عملیات

فرستادن، تحویل و تایید (یا تلاش دوباره) هر کدام یک عملیات تا ۶۴ کیلوبایت است؛ پیامی که بار اول موفق شود سه عملیات است. پلن رایگان روزی ۱۰٬۰۰۰ عملیات دارد و پس از آن تا فردا رد می‌شود؛ پلن حرفه‌ای ماهی ۱٬۰۰۰٬۰۰۰ عملیات همراه دارد و بیشتر از آن به ازای هر میلیون عملیات از کیف پول کم می‌شود.

محدودیت‌ها

رایگانحرفه‌ای
صف در هر تیم۱۰۱۰٬۰۰۰
اندازهٔ پیام۱۲۸ کیلوبایت۱۲۸ کیلوبایت
نگه‌داری پیام۱ روزتا ۱۴ روز
پیام‌های منتظر در هر صف۱ گیگابایت۲۵ گیگابایت
تأخیر تحویلتا ۱ ساعتتا ۷ روز
زمان‌بندی۱۰۱٬۰۰۰
عملیات۱۰٬۰۰۰ در روز، سپس رد۱٬۰۰۰٬۰۰۰ در ماه همراه پلن، سپس به ازای مصرف

پرسش‌های رایج

اولین صف را ایجاد کنید

یک دستور برای صف، یک خط برای فرستادن.

فعلاً ثبت‌نام با کد دعوت است. اگر کد دارید، همین حالا حساب ایجاد کنید.

ثبت‌نام باکد ایمیلکد پیامکی