我正在初始化请求代码之前的文件中的全局变量:
global_variable = open('file.txt').read()
def function(request):
pass
当我更新这个文件时,我想强制冷启动,以便加载新文件。有办法做到这一点吗?
当冷启动发生时,开发人员没有任何直接控制权。从你的问题中,听起来你可能误解了云功能的工作原理。
每个已部署的函数将有0个或多个服务器实例分配给它,以便它可以处理传入流量。流量在这些正在运行的实例之间进行分配。每次分配一个新的服务器实例来处理增加的负载时,都会导致该新实例的冷启动。这种冷启动不会影响其他可能已经在运行的实例。假定有任意数量的服务器实例随着时间的推移而来来去去;全局状态";对于给定的函数。函数应设计为无状态的。
也就是说,你可以做一个例子&;走开";通过在正在运行的代码中抛出异常。因此,您可以发出一个强制函数崩溃的请求。但是你无法控制请求将被路由到哪个服务器实例。因此,你可以尝试通过传递多个请求来杀死所有正在运行的实例(你认为目前可能正在运行的每个服务器实例都有一个请求(,但你不会有一个直接、可靠的方法来做到这一点。
如果您需要让服务器实例将某些内容重新加载到内存中,则它们必须定期执行一些代码,检查某些内容是否更新。这是唯一可靠的方法。