harmakit / credit-manager
每分钟信用限制服务的管理工具
dev-master
2022-02-13 17:43 UTC
Requires
- predis/predis: ^1.1
- psr/log: ^3.0
This package is auto-updated.
Last update: 2024-09-26 12:39:45 UTC
README
一个用于跟踪和调用每分钟信用限制服务的简单库,使用 predis/predis
安装
composer require harmakit/credit-manager
使用
从 CreditPerMinuteLimitedObject
接口继承你的类,该类调用一些每分钟信用限制功能。
class SomeLimitedExecutor implements CreditPerMinuteLimitedObject { private CreditManager $creditManager; public function __construct(CreditManager $creditManager) { $this->creditManager = $creditManager; $this->creditManager->addResource($this); // Call this to add your class object to the CreditManager's list of services } public function __destruct() { $this->creditManager->removeResource($this); } public function getCreditsPerMinuteLimit(): int { return 100; // Your value of credits which are allowed to spend over 1 minute } }
现在你可以开始管理你的调用啦!
public function callSomething($callCost = 25): void { $this->creditManager->spendCredits($this, $callCost); // Call this method when you want to spend credits // CreditManager will wait using sleep() function to accumulate enough credits to perform required call cost if needed doCallSomething(); }