Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从芹菜工人到数据库存储结果与返回结果

从芹菜工人到数据库存储结果与返回结果
EN

Stack Overflow用户
提问于 2017-04-12 16:00:37
回答 1查看 2.5K关注 0票数 2

我使用芹菜w/ Django来处理某个任务,该任务返回需要放入模型记录中的JSON值。现在,我看到了将它保存在Django数据库中的两个选项:

  1. 作为任务签名的一部分传入记录的id。然后芹菜可以用它来update记录。
  2. 或者,我可以返回任务的结果,并启用芹菜的django-db结果后端,该后端将位于芹菜自己的task_result表中。这意味着我必须在记录中持久化AsyncResult Id,每当客户端请求记录时,我将查找并查看进程是否已经完成。

在我看来,选择1似乎更好,但由于我最近几年没有与芹菜合作,我想知道它是否有缺点,和/或哪种情况更适合选择2。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-04-12 21:01:57

不,第一种方法没有什么问题。

tasks.py从app.models导入your_model从芹菜进口任务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@task
def update_model(id):
    model_obj = your_model.objects.get(id=id)
    #do your stuffs here...

views.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from app.tasks import update_model

def your_view(request):
    #your code
    update_model.delay(id_of_the_instance_you_want_to_update)

可以将此示例代码用于数据库中的原子提交。如果你担心。(取自芹菜文档)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from functools import partial
from django.db import transaction

from .models import Article, Log
from .tasks import send_article_created_notification

def create_article(request):
    with transaction.atomic():
        article = Article.objects.create(**request.POST)
        # send this task only if the rest of the transaction succeeds.
        transaction.on_commit(partial(
            send_article_created_notification.delay, article_id=article.pk))
        Log.objects.create(type=Log.ARTICLE_CREATED, object_pk=article.pk)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43381473

复制
相关文章
mybatis返回对象_存储过程不能返回结果
在更多的了解mybatis后发现不单单通过实体类可以直接返回数据,还可以直接返回一个Map结果集(resultType=”java.util.Map”) ,如果是多条数据则返回一个List<Map<String, Object>>结果集。
全栈程序员站长
2022/11/09
1.8K0
mybatis返回对象_存储过程不能返回结果
httprunner 4.x学习 - 4.提取返回结果与校验(extract, validate)
HttpRunner4.x 支持 2 种响应结果字段提取方式:jmespath 表达式和 正则表达式(regex)
上海-悠悠
2023/08/22
4070
httprunner 4.x学习 - 4.提取返回结果与校验(extract, validate)
mybatis返回值_存储过程获取查询结果
以Map为最外层容器时就要加 @MapKey("id") 指定提取 id 作为 key。
全栈程序员站长
2022/11/09
2.1K0
怎样让Oracle的存储过程返回结果集
Oracle存储过程: CREATE OR REPLACE PROCEDURE getcity ( citycode IN VARCHAR2, ref_cursor OUT sys_refcursor /* 这个sys_refcursor类型在SYS.STANDARD包中 */ ) AS BEGIN OPEN ref_cursor FOR SELECT * FROM tb_city_code WHERE city_code = ci
白石
2019/08/23
2.8K0
C#中使用Oracle存储过程返回结果集
Oracle中可以使用游标(Cursor)对数据集进行操作,但在存储过程输出参数中直接使用Cursor错误,此时的Cursor应该是一个定义游标的关键字并非类型,所以先要定义一个包,在包中声明全局的自定义游标类型,如:
张果
2022/05/09
1.1K0
Mysql存储过程查询结果赋值到变量
一个参数的方法 方式 1 DECLARE cnt INT DEFAULT 0; select count(*) into cnt from test_tbl; select cnt; 方式 2 set @cnt = (select count(*) from test_tbl); select @cnt; 方式 3 select count(*) into @cnt1 from test_tbl; select @cnt1; 多个列的情况下似乎只能用 into 方式 select max(status),
似水的流年
2019/12/05
8.8K0
mybatis返回结果处理
当查询的记录条数是多条的时候,必须使用集合接收。如果使用单个实体类接收会出现异常。如果返回的是一条记录可以用集合接收
一个风轻云淡
2023/10/15
2310
mybatis返回结果处理
mybatis返回结果类型(resulttype返回list)
这样设置返回类型为resultClass=”java.util.HashMap”,查询时执行queryForList
全栈程序员站长
2022/08/01
5.7K0
数据库的存储系列———将图片存储到数据库
在很多时候我们都使用数据库才存储我们的数据,然而我们通常在数据库里面存放的数据大多都支持数或者是一些字符,那么如果我们想在数据库里面存放图片,那么应该要怎么做的?
全栈程序员站长
2022/09/14
3.5K0
SpringBoot统一返回结果
在后台开发时,控制台得到的数据格式会有不同,这时我们需要设置统一返回结果,方便我们分析数据以及对数据进行管理。
算法与编程之美
2022/05/23
9330
SpringBoot统一返回结果
《上海悠悠接口自动化平台》-2.extract 提取结果与validate 校验结果
当接口请求成功后,返回的内容,我们需要提取内容,并校验实际结果与预期结果是否一致。 平台可以支持3种方式提取结果
上海-悠悠
2023/01/03
4020
《上海悠悠接口自动化平台》-2.extract 提取结果与validate 校验结果
POSTGRESQL 压力测试结果与 POSTGRESQL CPU OR 内存 提升性能提升大
数据库与硬件之间的关系,是一个决定数据库性能,必要条件,即使你参数调整的漂亮,你的SQL 撰写的没有问题,但是硬件不行,那么上面说的这一切对于数据库的性能,只能是杯水车薪。
AustinDatabases
2022/12/12
2.4K0
POSTGRESQL 压力测试结果与 POSTGRESQL  CPU OR  内存 提升性能提升大
从对象存储服务同步数据到Elasticsearch
AWS的S3, 阿里云的OSS, 腾讯云的COS, 都是常见的对象存储服务。对象存储服务面向非结构化数据,支持通过HTTP/HTTPS协议访问,支持存入文本、图片、视频等多种类型的数据。
bellen
2018/08/15
2.3K0
从对象存储服务同步数据到Elasticsearch
Arcgis for Android解决定位结果与地图偏移的简单处理思维
在进行Arcgis for Android的开发时,遇到过这样的问题:Arcgis Online上的地图资源与GPS定位结果不能够匹配,如下图所示:
牛老师讲GIS
2018/10/23
1.7K0
Arcgis for Android解决定位结果与地图偏移的简单处理思维
从各“瘫痪”事件看如何安全备份数据库到云存储
近几周互联网企业频繁暴出各类“瘫痪”事件,网易、支付宝也身负重伤,而5月28日携程网站服务及App全站瘫痪,从事故发生至恢复长达近12小时,造成的损失不言而喻。在对携程事件感到惋惜的同时,让大家不由感
静一
2018/03/21
1.8K0
从各“瘫痪”事件看如何安全备份数据库到云存储
返回结果的 HTTP 状态码
返回结果的 HTTP 状态码.png 返回结果的 HTTP 状态码 状态码的职责 当客户端向服务器端发送请求时,描述返回的请求结果 状态码的大致分类 1XX 信息性状态码 · 接收的请求正在处理 2XX 成功状态码 · 请求正常处理完毕 3XX 重定向状态码 · 需要进行附加操作以完成请求 4XX 客户端错误状态码 · 服务器无法处理请求 5XX 服务器错误状态码 · 服务器处理请求出错 2XX 成功 200 OK 表示从客户端发来的请求在服务器端被正常处理了 204 No Content 该状态码代表服
李才哥
2021/02/21
2.4K0
返回结果的 HTTP 状态码
将图片存储到mysql数据库[通俗易懂]
正常的图片储存要么放进本地磁盘,要么就存进数据库。存入本地很简单,现在我在这里记下如何将图片存进mysql数据库
全栈程序员站长
2022/09/14
8.9K0
从内部部署到云存储的演变
如今,很多企业专注于混合云存储架构,这是因为人们相信其能够应对当今IT存储的挑战:不断扩展的数据、多个站点、灵活性和规模需求,同时满足特定的性能需求。 如今,很多企业专注于混合云存储架构,这是因为人们
静一
2018/06/08
1K0
批量挖洞从收集信息到数据存储
针对单个网站的信息收集,可能没什么难度,有大量一键信息收集的工具,比如 oneforall,但是如果你面对的目标是一千一万个,该如何信息收集?数据该如何使用?
信安之路
2021/10/12
7740
点击加载更多

相似问题

不断从芹菜工人那里检索结果

15

使用asyncio从芹菜工人那里收集结果

20

芹菜+芹菜工人的问题

14

关闭芹菜工人

12

如何利用芹菜节拍与结芹菜配合使用

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文