[英]How to implement 'workers' correctly
I created a simple service to allow user convert a string to upper case. 我创建了一个简单的服务,以允许用户将字符串转换为大写。
def upper_service(s):
return s.upper()
Now, suppose I want only maximum 1000 workers to do my job (corresponding 1000 concurrent users at a time), but I don't want to create all 1000 workers immediately, just create when needed (an user sends a request to server) and max workers is 1000. If more than 1000 concurrent users, other requests will be added to a 'queue' or something like that. 现在,假设我只希望最多1000个工作人员完成一次工作(一次对应1000个并发用户),但是我不想立即创建所有1000个工作人员,而仅在需要时创建(用户向服务器发送请求),最大工人数为1000。如果同时存在1000个以上的用户,则其他请求将添加到“队列”或类似的内容中。
So how can I do that with python? 那么如何使用python做到这一点呢? My approach is good enough or can be improved?
我的方法够好还是可以改善?
Try something like this: 尝试这样的事情:
import queue, threading, time, random, datetime, webbrowser, urllib.request
def main():
n = 1000
startTime = datetime.datetime.now()
q = queue.Queue()
threads = []
for i in range(0,n):
t = threading.Thread(target=async_shit, args=(q, i))
t.daemon = False
threads.append(t)
[x.start() for x in threads]
[x.join() for x in threads]
....
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.