小编S P*_*son的帖子

如何在 Django 中对请求进行排队?

我使用 Django (DRF) 管理物理储物柜。用户填写表格,通过发送到其电子邮件的链接进行身份验证,通过储物柜上显示的 PIN 码进行授权。

我的观点应该处理三种情况:

  • 如果用户成功进行身份验证和授权,则储物柜上显示的 PIN 码将替换为通用消息,并且储物柜将打开。(已经实施)

  • 如果用户未能在 3 分钟内授权,储物柜密码将被替换为通用消息。

  • 如果用户 Foo 发出新的授权请求,而用户 Bar 的授权尚未完成,则将请求放入队列中,等待情况 1. 或情况 2. 完成。

我怎么能够:

  • 实现一个请求队列,以便当新请求进来时,储物柜上显示的 pin 不会被覆盖/替换?
  • 如何等待 3 分钟授权完成后再处理下一个请求?

按原样查看,以防有用:

   if request.method == 'POST':
        form = ConfirmationForm(request.POST)
        if form.is_valid():
            if pin == form.cleaned_data['pin']:
                open_bay(jwt_token=jwt[1], pin=pin)
                display_generic_message(jwt_token=jwt[1])
                lock_bay(jwt_token=jwt[1], pin=pin)
                return render(request, 'static/pages/request-success.html')
            else:
                pass
    else:
        form = ConfirmationForm()
    return render(request, 'static/pages/confirmation.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

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

使用 g++ 的 C++,没有结果,没有打印

我正在慢慢地从使用 Python 转向使用 C++,但我不明白如何运行任何代码。我正在使用 g++ 编译器,但我的函数没有得到任何结果。

// arrays example
#include <iostream>
using namespace std;

int foo [] = {16, 2, 77, 40, 12071};
int n, result=0;

int main ()
{
  for ( n=0 ; n<5 ; ++n )
  {
    result += foo[n];
  }
  cout << result;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我在 VSCode 中运行此示例并指定我要使用 g++ 编译器,它将返回:Terminal will be reused by tasks, press any key to close it.。如果我通过 cmd 编译它并运行任务,一个新的 cmd 窗口会闪烁,但什么也没有发生。

我找到了 g++ 文档,其中说明了如何使用 g++ 进行编译,它显示了以下示例:

#include <stdio.h>

void main …
Run Code Online (Sandbox Code Playgroud)

c++ g++

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

标签 统计

c++ ×1

django ×1

django-rest-framework ×1

g++ ×1

python ×1