当前位置: 首页 > 面试题库 >

两个模块应该使用相同的Redis连接吗?(我正在与Flask合作)

艾浩穰
2023-03-14
问题内容

我正在构建使用Redis队列的Flask应用。工人的代码是:

listen = ['default']

#redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')
conn = redis.from_url(redis_url)
if __name__ == '__main__':
    with Connection(conn):
        worker = Worker(list(map(Queue, listen)))
        worker.work()

另一个模块app.py包含用于处理Flask路由的代码。我的问题是,app.py是否应按以下方式创建新的Redis连接:

q = Queue(connection= redis.from_url(redis_url))
q.enqueue_call(func=mailers.send_message, kwargs=request.json, result_ttl=86400)

还是应该使用app.py

import conn from worker

并使用该连接?


问题答案:

我会说使用新的连接,除非您确实有充分的理由不这样做(尽管我无法想象这样的原因)



 类似资料:
  • 在所有示例中,我总是看到分区通过接收Hash分区器的新实例 我加入了两个RDD。它们的键列具有来自同一集合的值。为了更有效地连接,我应该对两者进行分区吗?如果是,我应该创建一个HashPartitioner实例hp吗 并传递hp到两个分区方法,以便有要连接的行落到同一个节点?这是分区的工作方式吗?

  • 问题内容: 我正在看下面的代码片段: 从这里:http : //howtonode.org/node-redis- fun 。 我不太了解发生了什么。从示例中,我认为Redis客户端是数据库和程序员之间的某种接口,但现在看来他们正在为每个提交的代码创建一个新客户端(他们在教程中构建的应用程序接受代码段)提交并将其存储在数据库中)! 另外,Redis数据库存储在哪里?与脚本位于同一目录中吗?我该如何

  • 问题内容: 我正在为电子商务应用程序设计数据库/域,但很难弄清楚如何存储产品。 该网站将出售各种各样的产品,笔,丁字裤,纹身,雨伞等等。这些产品中的每一个将共享一些共同的属性,例如高度,宽度,长度,重量等,但是某些产品具有特殊的数据。例如,钢笔具有不同的墨水颜色,笔尖/笔盖和小册子可以具有不同类型的折痕。到目前为止,我已经考虑了20多个额外的属性,但是这些属性可能仅适用于网站上1%的产品。 因此,

  • 我正在使用多个线程在不同的表中插入插入记录。此外,我正在使用批处理的记录插入,以提高效率。 注意:要插入的记录数以百万为单位。 我的问题是,在这种多线程环境中,我应该使用连接池吗? 我关心的问题: 每个线程将运行相当长的时间来执行数据库操作。所以,如果我的连接池的大小是2,线程的数量是4,那么在给定的时刻只有2个线程将运行。因此,其他两个线程将会在很长一段时间内保持理想状态以获得连接,因为针对百万

  • 我有点困惑与谷歌标签管理器和gtag.js.我已经读了很多关于它,但它不是100%清楚我用什么在我的情况下。 历史上,我们一直在AngularJS webapp中使用gtag.js。我们还使用图书馆的角度来跟踪谷歌广告转换的购买提供动态价格和线索直接从我们的网站。 我们已经迁移到GTM,从GTM接口提供第三方库。这意味着我们已经评论/删除了gtag。js。现在,我们从GTM跟踪页面分析。然而,很明

  • 在这里,我想将所有字段返回给客户端,那么是否需要创建dto类?在这种情况下,最佳做法是什么?