Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript views.py或逐步模板呈现中的Django并行函数_Javascript_Python_Django_Django Views_Celery - Fatal编程技术网

Javascript views.py或逐步模板呈现中的Django并行函数

Javascript views.py或逐步模板呈现中的Django并行函数,javascript,python,django,django-views,celery,Javascript,Python,Django,Django Views,Celery,下午好。我是一个超级程序员。 每天都有很多问题。在这里,我即将发布我在django上的第一个项目的Alpha版本。但我遇到了另一个问题,花了我3天的时间,我没有找到一个确切的答案来解决这个问题 在my views.py中,有一个请求调用了另外5个函数-“multi”。在模板中,我使用了主请求的结果(100个值的列表)和5个附加函数的总结果。(关键是我只能将主请求列表中的20个值发送到“multi”函数)。事实证明,为了收集完整的最终列表,我必须完成5次多功能。从开始到结束的总时间超过150秒。这

下午好。我是一个超级程序员。 每天都有很多问题。在这里,我即将发布我在django上的第一个项目的Alpha版本。但我遇到了另一个问题,花了我3天的时间,我没有找到一个确切的答案来解决这个问题

在my views.py中,有一个请求调用了另外5个函数-“multi”。在模板中,我使用了主请求的结果(100个值的列表)和5个附加函数的总结果。(关键是我只能将主请求列表中的20个值发送到“multi”函数)。事实证明,为了收集完整的最终列表,我必须完成5次多功能。从开始到结束的总时间超过150秒。这是一段很长的时间。我真的需要一些帮助。第一个主请求在5-10秒内处理。在15-25秒内处理第一个请求+第一个“多”功能。但当该公司运行所有(请求+5个功能)=150秒以上时。 我知道这可以通过几种方法来解决: 我会对以下选项感到满意

  • 以1秒的延迟并行启动“多”功能?(延迟应为这是我向其发送请求的服务器的条件)

  • 向用户显示一个包含“listdata”结果的页面(表格),并在5个函数中的每一个都完成时,实时上传“final”列表中缺失的值

  • 芹菜

  • 请帮忙

def index(request):
    def multi(keys):
        response = requests.get(url1+keys)
        data1 = response.json()
        listdata1 = data1['output']
        for i in listdata1:
            final.append(i)
        return final
        
    response = requests.get(url)
    data = response.json()   
    listdata = data['results']

    final = []
    list1 = listdata[0:20]
    list2 = listdata[20:40]
    list3 = listdata[40:60]
    list4 = listdata[60:80]
    list5 = listdata[80:]

    multi(list1)
    multi(list2)
    multi(list3)
    multi(list4)
    multi(list5)

    return render(request, 'index.html',{'final':final, 'listdata':listdata})