kundu / laravel-funcqueue
一个用于在Laravel中以作业形式运行函数的包。
1.0.0
2023-04-25 17:44 UTC
Requires
- php: ^7.4 || *
- illuminate/queue: ^7.0 || *
- illuminate/support: ^7.0 || *
This package is auto-updated.
Last update: 2024-09-26 09:13:26 UTC
README
LaravelFuncQueue是一个Laravel包,允许您轻松地将函数作为队列作业运行。此包提供了一种简单灵活的方式,可以分发队列作业,这些作业在指定的类中运行指定的函数。
安装
您可以使用Composer安装此包
composer require kundu/laravel-funcqueue
该包将自动注册其服务提供者。
用法
要使用Laravel FuncQueue包,首先需要导入LaravelFuncQueue类
use kundu\LaravelFuncQueue\LaravelFuncQueue;
将函数作为作业运行
要将函数作为作业运行,可以使用LaravelFuncQueue::run()方法。此方法接受包含函数的类的名称、函数的名称以及传递给函数的参数数组。
LaravelFuncQueue::run(MyClass::class, 'myMethod', ['param1', 'param2']);
您还可以使用withConstructor()方法传递类的构造函数参数
LaravelFuncQueue::withConstructor(['param1'])->run(MyClass::class, 'myMethod', ['param2']);
指定队列
您可以使用onQueue()方法指定作业应该运行的队列名称。此方法接受单个参数,即队列的名称。
LaravelFuncQueue::run(MyClass::class, 'myMethod', ['param1', 'param2'])->onQueue('default');
处理异常
要处理运行作业时发生的异常,您可以捕获异常并使用Log外观将其记录到Laravel日志中
许可证
KunduMagicFunctionJob是开源软件,根据MIT许可证授权。
使用LaravelFuncQueue包的限制和建议
如果函数有返回值,则使用此包可能不是最佳选择,因为函数将作为作业执行,可能难以从作业中获取返回值。通常建议将此包用于执行异步或后台任务的函数,而不是返回值或具有副作用的函数。
如果您需要从函数中获取返回值,您可能需要考虑使用不同的方法,例如直接调用函数或使用同步作业。