那么我面临一个问题。我开发了一个包来处理 Yotpo(忠诚度和推荐服务)的 API 请求。在我的控制器中,我使用 Jobs 在后台对所有 API 调用进行排队。
问题是,如果我使用QUEUE_CONNECTION=sync
作业运行没有任何问题,因为它没有排队。但是,如果我将变量更改为QUEUE_CONNECTION=redis
Horizon,则会引发错误:
Error: Class "Combindma\YotpoApi\Facades\YotpoApi" not found in /home/felicita/public_html/app/Jobs/ProcessYotpoCouponCreationJob.php:28
似乎在后台排队时找不到外观类。
对于参考我使用这个包:Yotpo 这是失败的工作:
class ProcessYotpoCouponCreationJob implements ShouldQueue
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
protected $coupon;
protected $redemption_option_id;
public function __construct(Coupon $coupon, int $redemption_option_id)
{
$this->coupon = $coupon;
$this->redemption_option_id = $redemption_option_id;
}
public function handle()
{
YotpoApi::uploadLoyaltyCouponCodes($this->redemption_option_id, $this->coupon->code);
}
}