小编p07*_*712的帖子

列式存储:Cassandra 与 Redshift

Cassandra 等 NoSQL 数据库上下文中的列式存储与 Redshift 中的列式存储有何不同。如果 Cassandra 也是列式存储,那么为什么它不用于 Redshift 等 OLAP 应用程序?

column-oriented cassandra amazon-redshift

6
推荐指数
1
解决办法
2137
查看次数

Django 中的线程在生产中不起作用

我的 Django views.py 中有一个看起来像这样的函数。

def process(request):
form = ProcessForm(request.POST, request.FILES)
if form.is_valid():
    instance = form.save(commit=False)
    instance.requested_by = request.user
    instance.save()
    t = threading.Thread(target=utils.background_match, args=(instance,), kwargs={})
    t.setDaemon(True)
    t.start()
    return HttpResponseRedirect(reverse('mart:processing'))
Run Code Online (Sandbox Code Playgroud)

在这里,我试图在提交 ProcessForm 时在单独的线程中调用函数“background_match”。由于此线程需要一些时间才能完成,因此我将用户重定向到另一个名为“mart:processing”的页面。

我面临的问题是它在我的本地机器上一切正常,但在作为 AWS EC2 实例的生产服务器上不起作用。线程根本没有启动。background_match 函数中有一个 for 循环,它不会向前移动。

但是,如果我刷新 (CTRL + R) 'mart:processing' 页面,它会移动 1 或 2 次迭代。因此,对于一个包含 1000 次迭代的完整循环,我需要将页面刷新 1000 次。如果在 100 次迭代之后我不刷新页面,它就会卡在那个点并且不会移动到第 101 次迭代。请帮忙!

python django multithreading amazon-ec2

5
推荐指数
1
解决办法
1268
查看次数