laravel - 如何获得创建的作业 ID
问题描述
我创建了一个在特定时间发送电子邮件的工作。
$remind_me_before = "10";
AppointmentReminderJob::dispatchIf(!empty($remind_me_before), $appointment, $user)->delay(Carbon::createFromFormat('Y-m-d H:i', $appointment->start_date)->subMinutes($remind_me_before));
现在我想要将约会 id 添加到新创建的工作记录中,因此我需要工作 id 以便我可以更新它。
我试过做这个页面的解决方案:
但没有运气。
编辑 :
我找到了一个可行的解决方案来做到这一点
use Illuminate\Contracts\Bus\Dispatcher;
$job = ( new JOB_CLASS() )->onQueue('QUEUE_NAME')->delay('DELAY');
$id = app(Dispatcher::class)->dispatch($job);
解决方案
推荐阅读
- c# - Moq 抽象类属性在转换为接口时为 NULL
- c# - 使用非字符串 DataBinding 值的 MarkupExtension
- python - 如何根据检测到的食物从 FatSecret API 输出卡路里信息?
- android-studio - Gradle - 自动嵌套模块依赖
- gitlab - Gitlab 运行器状态显示“服务未安装”但已安装并成功运行
- ios - Swift为public.mpeg-4定义常量?
- typescript - 为什么 TypeScript 不能在没有明确指定参数类型的情况下工作?
- typescript - Typescript 将 d.ts 捆绑到 1 个带有 tsc 的文件用于 npm 包 - 声明文件错误
- javascript - 试图用ajax插入多选输入
- reactjs - 如何在数据加载时重新呈现自定义挂钩的结果