البيانات :: خنق.

الحد من إنتاج البيانات
التحميل الان

البيانات :: خنق. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Michael Schilli
  • موقع ويب الناشر:
  • http://search.cpan.org/~mschilli/

البيانات :: خنق. العلامات


البيانات :: خنق. وصف

الحد من إنتاج البيانات البيانات :: Throuttler هي وحدة بيرل التي تساعد في حل مهام الاختناق مثل "السماح ب IP واحد فقط لإرسال 100 رسالة بريد إلكتروني لكل ساعة". يوفر متجر بيانات ثابت اختياريا لتتبع ما حدث من قبل ويقدم بنعم بسيط / لا توجد واجهة بسيطة للتطبيق، والذي يمكن أن يركز بعد ذلك على أداء المهمة الفعلية (مثل إرسال البريد الإلكتروني) أو قمع / تأجيله. عند تحديد خنق ، يمكنك أن تقول ذلك للحفاظ على هياكل البيانات الداخلية في الذاكرة: # خنق في الذاكرة بلدي خنق $ = البيانات :: الخنق-> جديد (max_items => 100، الفاصل => 3600،)؛ ومع ذلك، إذا كانت هياكل البيانات تحتاج سيتم الاحتفاظ بها عبر دعوات مختلفة من البرنامج النصي أو العديد من مثيلات البرامج النصية باستخدام الخنق، باستخدام قاعدة بيانات مستمرة: # خنق مستمر لي خنق $ $ = البيانات :: خنق-> جديد (max_items => 100، الفاصل => 3600، backend => "Yaml"، backend_options => {db_file => "/tmp/mythottle.yml"،}،)؛ ستعيد المكالمة أعلاه إعادة استخدام متجر الخلفية موجود، مع إعطاء أن الإعدادات Max_items والفاصل الزمني متوافقة وترك المخزنة مضادة سلسلة دلو الواردة فيها سليمة. لتحديد أن مخزن الخلفية يجب إعادة بنائها وإعادة تعيين جميع العدادات، استخدم الخيار RESET => 1 من البيانات :: منشئ كائن خنق. في أبسط القضية، البيانات :: Throuttler فقط تتبع أحداث واحدة. يسمح بعدد معين من الأحداث في إطار الزمني للنجاح وتوصي بحظر الباقي: إذا كان ($ frottler-> try_push () {print "يمكن دفعها "؛} {print" يحتاج العنصر إلى الانتظار "؛} عندما يختنق فئات مختلفة من العناصر، مثل محاولات إرسال رسائل البريد الإلكتروني عن طريق عنوان IP الخاص بالمرسل، يمكن استخدام مفتاح: إذا كان ($ خنق-> try_push (مفتاح =>" 192.168.0.1 ")) {print" يمكن دفعها "؛} {print" يحتاج العنصر إلى الانتظار "؛} في هذه الحالة، سيتم تتبع كل مفتاح بشكل منفصل، حتى لو تم الحد من الحصص الخاصة بمفتاح واحد، فسيظل مفاتيح أخرى تنجح حتى يتم الوصول إلى حصتها. استخدام البيانات الخاصة بهم. ### بسيط: الحد من الإنتاجية إلى 100 ساعة في الساعة بلدي frottler = البيانات :: خنق-> جديد (max_items => 100، الفاصل = 3600،)؛ إذا كان ($ خنق-> try_push () {print "يمكن دفع العنصر "؛} {print" يحتاج العنصر إلى الانتظار "؛} ### المتقدمة: استخدم مخزن بيانات مستمر وخنق عن طريق المفتاح: بيانات خنق $ = البيانات :: خنق-> جديد (max_items => 100، الفاصل => 3600، backend =>" yaml "، backend_options => {db_file => "/tmp/mythottle.yml"،}،)؛ إذا ($ frottler-> try_push (key => "somekey")) {print "يمكن دفع العنصر "؛ } متطلبات: perl.


البيانات :: خنق. برامج ذات صلة