前面课程中,我们已经把在后台,进行文档分割的功能做完了。但是这个过程,需要手动执行命令去发起,肯定不行的。正常流程,应该是在文件上传成功之后,自动去发起这个任务。

这节课,我们就来定义一个异步任务,放在文件上传成功之后,去自动执行。异步任务的特点,是在后台异步执行,非阻塞,不影响主流程。

代码示例

1、定义异步任务

Celery 是一个简单、灵活且可靠的分布式任务队列系统,用于处理并发的异步任务。

以下定义一个异步任务,并将其分配到 dataset 队列中执行,任务的功能是打印传入的参数 msg。

内容不可见,请联系管理员开通权限。

2、监听任务

启动了一个 Celery worker,该 worker 将并发运行两个进程,监听 dataset 队列中的任务,并将日志记录到 storage/logs/celery_worker.log 文件中,日志级别为 INFO。

内容不可见,请联系管理员开通权限。

3、调用异步任务

因为异步任务是解耦的,可以根据需要,定义立即执行,还是延迟执行。

内容不可见,请联系管理员开通权限。

4、创建文件分割任务

内容不可见,请联系管理员开通权限。

5、文件上传成功后调用

内容不可见,请联系管理员开通权限。

现在已经顺利完成文件上传并分割的流程,接下来就是把分割好的片段进行向量化,然后存到向量数据库了。

本文链接:http://ichenhua.cn/index.php/edu/note/760

版权声明:本文为「陈华编程」原创课程讲义,请给与知识创作者起码的尊重,未经许可不得传播或转售!