Gunicorn陈述如下:
Gunicorn基于前叉工人模型。这意味着有一个中央主进程来管理一组工作进程。主人永远不会了解个人客户。所有请求和响应都由工作进程完全处理。
(http://docs.gunicorn.org/en/stable/design.html)
然而,我无法理解这个定义的范围。 我很乐意看到图表,图表或任何可视化这个概念/模型的东西。
让我们假设我们有一个由单个文件组成的文件夹:wsgi.py
class CoreDataHelper {
class func getFetchRequestforModelClass(_ className : NSManagedObject.Type) -> NSFetchRequest<NSFetchRequestResult> {
let stringClassName = String(stringInterpolationSegment: className)
let entityDescription = NSEntityDescription.entity(forEntityName: stringClassName, in: ManagedObjectContext)
let request = NSFetchRequest<NSFetchRequestResult>()
request.entity = entityDescription
return request
}
class func getAllTask() -> [Task]?{
let fetchRequest = CoreDataHelper.getFetchRequestforModelClass(Task.self)
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "task_id", ascending: true)]
var fetchedEntities:[Task]?
do
{
fetchedEntities = try ManagedObjectContext.fetch(fetchRequest) as? [Task]
}catch{
}
return fetchedEntities
}}
使用以下参数运行gunicorn:
def app(environ, start_response):
data = b"Hello, World!\n"
start_response("200 OK", [
("Content-Type", "text/plain"),
("Content-Length", str(len(data)))
])
因此:
如果两个worker是活动的,因此每个都接受一个连接,那么每个进程是否都有自己的wsgi.py实例?
OR
如果他们共享一个公共数据库或I / O操作,它是否同步?
P.S:我很乐意看到有关这个主题的文章的参考文献!