python - 从 Celery 任务中获取全部数据
问题描述
我目前在我的 Django 项目中使用celery 。下面是我的views.py和tasks.py文件。
视图.py
def status_codes(request):
try:
url = request.GET.get('url')
urls = linksextraction(url)
url_codes.objects.all().delete()
for each_url in urls:
res = url_status_codes.delay(each_url[1])
while (res.status == 'PENDING'):# waiting till all tasks are completed
pass
# Do manipulations from db data
任务.py
@app.task
def url_status_codes(url):
r = requests.head(url)
status_code = r.status_code
spell_words = spellcheck(url, 'English--en')
if (not spell_words):
spell_words = 'NA'
data = url_codes(status_code=status_code, url=url, spell_words=spell_words)
data.save() # Saving in Database
从上面的代码片段中,我将tasks.py中的结果保存在数据库中,当所有任务完成后,我从db中获取结果并进行操作。
有没有办法在不保存到数据库的情况下将 tasks.py 中的所有结果获取到 views.py。
解决方案
推荐阅读
- r - 使用 coxph 模型预测每个因素的事件概率
- python - 如何向我的 API 发出正确的 PUT REQUEST?JSONDecodeError:无效的控制字符在:第 1 行第 40 列
- ruby - Inspec 命令不打印服务器的内存
- c++ - 链接列表中的代码崩溃而实际上没有显示任何错误
- c++ - 我真的需要手动指定 cmake 项目中的所有源文件吗?
- xcode - SwiftUI 在模拟器中的显示与 watchOS 设备上的不同
- google-apps-script - 是否已弃用 Google Apps 脚本的 PropertiesService.getUserProperties()?
- javascript - 如何在向上或向下滚动时使打开的菜单透明
- javascript - 无法设置值并使用 getElementsByName 提交
- machine-learning - 分类准确率低,我该怎么办?