我试着做了所有这些:

try 1:

DispatchWpAutoNewTaskJob::dispatch($payload)->delay(now()->addSeconds(10));

try 2:

$when = now()->addSeconds(10);
dispatch(new DispatchWpAutoNewTaskJob($payload))->later($when);

try 3:

dispatch(new DispatchWpAutoNewTaskJob($payload))->delay(now()->addSeconds(10));

但它都会返回一个类似以下内容的错误:

[stacktrace]
#0 /www/wwwroot/zz.com.test/app/Http/Controllers/Api/WpAutoWebhookController.php(63): Illuminate\\Foundation\\Bus\\PendingDispatch->delay()
#1 /www/wwwroot/zz.com.test/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\Api\\WpAutoWebhookController->handleWebhook()

Laravel版本: Laravel Framework 9.52.10

try 1:

DispatchWpAutoNewTaskJob::dispatch($payload)->delay(now()->addSeconds(10));

try 2:

$when = now()->addSeconds(10);
dispatch(new DispatchWpAutoNewTaskJob($payload))->later($when);

try 3:

dispatch(new DispatchWpAutoNewTaskJob($payload))->delay(now()->addSeconds(10));

我期待的是,作业(job)将与延迟调度,它应该是非阻塞的.我已经设置了Redis,它正在工作.我唯一的问题是延误了.

Note that the codes inside the job are actually working, but without any delays. I wanna add non-blocking delay

推荐答案

确保您的作业(job)类使用Illuminate\Bus\Queueable类.

让我们更深入地看看Laravel 9.x documentation种职业的阶级 struct .

Php相关问答推荐

添加自定义Metabox到WooCommerce管理订单,启用HPOS

PHP FFI—Convert void * to int

WooCommerce数量减号和加号图标未显示

WooCommerce我的帐户:从帖子作者处获取自定义帖子类型帖子ID

PHP从响应应用程序json获取文件代码和URL

将数组推送到数组时,数组推送()出现问题

在PHP 8.2 Gloogle云引擎上加载大型php文件速度缓慢

使用HPOS过滤WooCommerce中的订单列表

WooCommerce在收据页面获取产品下载URL

ANTLR4-lexer如何消耗更多的 token 并停止现有规则?

在具有Angular 的 Laravel 应用程序中,不显示图像

.htaccess 重写规则问题

使用自定义插件中的 WooCommerce 模板发送自定义邮箱

使用 wp_footer 挂钩添加一些 CSS 不起作用

使用 Composer 找不到 Google APIClient 类

正则表达式将文本替换为标签 html 以字符开头

Google Sheets PHP API - 添加多个选项卡时出现问题

Laravel路由中的符号在slug中会创建额外的斜杠

显示时间范围内的可用空位,同时考虑已预订的空位

如何从此字符串创建 Carbon 对象:2022-06-21T05:52:46.648533678Z?