小编YNX*_*YNX的帖子

为什么Django可以处理多个请求?

根据Django 是同步还是异步。Django 是同步的。但是我用以下方法测试了阻塞视图python manage.py runserver 8100

    import time
    @action(detail=False, methods=['get'])
    def test(self, request):
        time.sleep(5)
        return {}
Run Code Online (Sandbox Code Playgroud)

并在 0 秒、1 秒时向邮递员触发了两个请求,并在 5 秒、6 秒返回。这似乎不是阻塞/同步的。我哪里错了?

django

8
推荐指数
1
解决办法
8331
查看次数

使用 Rust Dashmap 这些代码会产生死锁吗?

DashMap像这样的代码在 Rust 中使用 a 会产生死锁吗?

// snippet_1
let a = DashMap::new();
let b = DashMap::new();

// thread1
for v in a.iter(){
   xxx
}
for v in b.iter(){
   xxx
}

//thread2
for v in b.iter(){
   xxx
}
for v in a.iter(){
   xxx
}
Run Code Online (Sandbox Code Playgroud)
// snippet_2
let a = DashMap::new();
let b = DashMap::new();

// thread1
for v in a.iter(){
   xxx
}
for v in b.iter(){
   xxx
}

//thread2
for v in b.iter(){
   xxx
   for v in a.iter() {
      xxx
   } …
Run Code Online (Sandbox Code Playgroud)

deadlock rust

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

如何解决错误“一次不能多次借用`*self`作为可变对象”

我是 Rust 新手。这是一段计算机股票交易的代码。该策略将在触发时买入一些股票SignalTrigger,并在 30 岁/90 岁后以不同方式卖出这些股票。代码无法编译。这是代码:

use std::cmp;
use std::cmp::Ordering;
use std::collections::BTreeMap;
use std::collections::BinaryHeap;
use std::convert::TryFrom;
use std::error::Error;
use std::fs::File;
use std::io;
use std::process;

#[derive(Debug)]
struct Depth {
    ts: u32,
    ap_vec: Vec<f64>,
    bp_vec: Vec<f64>,
    av_vec: Vec<u32>,
    bv_vec: Vec<u32>,
}


struct Order {
    ts: u32,
    id: u32,
    is_buy: bool,
    is_mkt: bool,
    vol: u32,
    price: f64,
}

struct LongPosition {
    vol_left: u32,
    ts: u32,
}

struct Strategy {
    order_id: u32,
    prev_buy_ts: u32,
    map_orderid_position: BTreeMap<u32, LongPosition>, // map<order_id, volume_left>
}

impl …
Run Code Online (Sandbox Code Playgroud)

rust

4
推荐指数
1
解决办法
4459
查看次数

为什么我们需要用gunicorn来部署Django?

我们可以简单地启动一个Django server1python manage.py runserver 8080那么为什么我们需要server2像这样部署Django呢gunicorn myproject.wsgi?我在 google 上搜索了一下wsgi,它说wsginginx 和 Django 之间有连接,但令我困惑的是我们可以发出 http 请求(就像使用 postman 一样)server1并且一切正常。那么有什么区别呢?

django wsgi web

3
推荐指数
1
解决办法
1967
查看次数

python asyncio.Task 中的异常在主任务完成之前不会引发

这是代码,我认为程序会因为未捕获的异常而立即崩溃。然而,当主要任务coro2完成时,它等待了 10 秒。

import asyncio

@asyncio.coroutine
def coro1():
    print("coro1 primed")
    yield
    raise Exception("abc")

@asyncio.coroutine
def coro2(loop):
    try:
        print("coro2 primed")
        ts = [asyncio.Task(coro1(),loop=loop) for _ in range(2)]
        res = yield from asyncio.sleep(10)
        print(res)
    except Exception as e:
        print(e)
        raise

loop= asyncio.get_event_loop()
loop.run_until_complete(coro2(loop))
Run Code Online (Sandbox Code Playgroud)

我认为这是一个严重的问题,因为在更复杂的程序中,这会使进程永远卡住,而不是因异常信息而崩溃。

except此外,我在源代码中的块中设置了断点run_until_complete,但它没有被触发。我感兴趣的是哪一段代码在 python asyncio 中处理了该异常。

python python-asyncio

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

标签 统计

django ×2

rust ×2

deadlock ×1

python ×1

python-asyncio ×1

web ×1

wsgi ×1