CPU 正在使用 100% 的资源,因此队列失败
CPU is utilizing 100% resource and therefore Queue failed
我的代码如下。
for($i = 0; $i <= 100; $i++) {
$objUser = [
"UserName" => $request["UserName"] . $i,
"EmailAddress" => $request["EmailAddress"] . $i,
"RoleID" => RoleEnum::ProjectManager,
"Password" => $request["Password"],
];
$RegisterResponse = $this->Register->Register($objUser);
$Data = $RegisterResponse["Data"];
$job = (new AccountActivationJob($Data));
dispatch($job);
}
以上代码创建了 100 个用户,并且每次都创建一个队列来发送电子邮件通知。我正在使用数据库默认队列。
我在 GoDaddy 上共享了主机帐户。由于某些原因,CPU 使用量达到 100。这是屏幕截图。
最终循环在两者之间停止。以下是 5 分钟后的屏幕截图。
这里,我的问题是:无法继续创建100个用户。我这样做是为了测试多个用户发送注册请求的示例队列实现。我做错了什么吗?
Godaddy 确实有您可以使用的资源限制。如果你检查它,它会终止 ssh 上的进程。
限额可用here
使用不同的 nice 参数尝试 运行 php 过程。
当我需要使用确实使用大量资源的 artisan 命令时,我就是这样做的。
我做了调查,发现我应该移动到 VPS 而不是共享主机。这是 GoDaddy 提供的又好又便宜的计划。 https://in.godaddy.com/hosting/vps-hosting
如上所述,GoDaddy 有很多资源限制。听说一个小时只能发100封邮件
那也不是一次。如果它检测到您正在发送大量电子邮件,您的进程将被阻止。
相反,您可以排队每 20 秒或 30 秒发送 1 条消息。这将有助于限制资源,您的电子邮件将毫无问题地发送给客户。
您可以为此使用睡眠功能。
我的代码如下。
for($i = 0; $i <= 100; $i++) {
$objUser = [
"UserName" => $request["UserName"] . $i,
"EmailAddress" => $request["EmailAddress"] . $i,
"RoleID" => RoleEnum::ProjectManager,
"Password" => $request["Password"],
];
$RegisterResponse = $this->Register->Register($objUser);
$Data = $RegisterResponse["Data"];
$job = (new AccountActivationJob($Data));
dispatch($job);
}
以上代码创建了 100 个用户,并且每次都创建一个队列来发送电子邮件通知。我正在使用数据库默认队列。
我在 GoDaddy 上共享了主机帐户。由于某些原因,CPU 使用量达到 100。这是屏幕截图。
最终循环在两者之间停止。以下是 5 分钟后的屏幕截图。
这里,我的问题是:无法继续创建100个用户。我这样做是为了测试多个用户发送注册请求的示例队列实现。我做错了什么吗?
Godaddy 确实有您可以使用的资源限制。如果你检查它,它会终止 ssh 上的进程。
限额可用here
使用不同的 nice 参数尝试 运行 php 过程。
当我需要使用确实使用大量资源的 artisan 命令时,我就是这样做的。
我做了调查,发现我应该移动到 VPS 而不是共享主机。这是 GoDaddy 提供的又好又便宜的计划。 https://in.godaddy.com/hosting/vps-hosting
如上所述,GoDaddy 有很多资源限制。听说一个小时只能发100封邮件
那也不是一次。如果它检测到您正在发送大量电子邮件,您的进程将被阻止。
相反,您可以排队每 20 秒或 30 秒发送 1 条消息。这将有助于限制资源,您的电子邮件将毫无问题地发送给客户。
您可以为此使用睡眠功能。