我有一行PHP脚本使用DataService.ds.REF_NEWS.queryOrdered(byChild: "date").observe(.value, with: {(snapshot) in
self.news = []
if let snapshot = snapshot.children.allObjects as? [FIRDataSnapshot] {
for snap in snapshot
{
if let newsDict = snap.value as? Dictionary<String, AnyObject>
{
print("Mago Dict: \(newsDict)")
let key = snap.key
let new = News()
new.configureNews(newsKey: key, newsData: newsDict)
self.news.append(new)
}
}
}
打印出PID,每次通过FPM调用脚本时PID都会改变,但我希望pid是相同的。我认为FPM的重点是每次都不会产生新的过程,从而使事情变得更快?
答案 0 :(得分:0)
这个,您可能需要在www.conf文件中稍微了解一下php fpm配置(或根据您的操作系统的任何conf文件)。因此,根据您的配置,FPM通常会根据您的需求分配更多的孩子,因此不同的pid号码。
选择流程管理员控制子女数量的方式 流程。
可能的值:
静态 - 子进程的固定数量(pm.max_children)动态 - 根据以下指令动态设置子进程数。通过此流程管理,将始终至少有1个孩子。
pm.max_children - 同时可以活着的最大子女数。
pm.start_servers - 启动时创建的子项数。pm.min_spare_servers - “空闲”中的最小儿童数量&#39;国家(等待处理)。如果“闲置”的数量是多少?一些进程少于这个数量 将创建儿童。
pm.max_spare_servers - “空闲”中的最大儿童数量&#39;国家(等待处理)。如果“闲置”的数量是多少?进程大于这个数字然后一些孩子将被杀死。ondemand - 启动时不会创建子项。当新请求连接时,孩子们将分叉。
使用以下参数:
pm.max_children - 可以同时活着的最大子女数。
pm.process_idle_timeout - 空闲进程被终止的秒数。注意:此值是必填项。