如何解决每次Django重新启动时如何调用函数?
我有一个在生产环境中使用Gunicorn托管的Django Web服务。每次重新启动Web服务时,我都需要调用函数restart_event
。这是函数的伪代码
def restart_event():
"""This function should be called everytime Django restarts"""
# read list of registered companies from the database
companies = Company.objects.all()
for company in companies:
# perform various operations on the data
business_logic1(company)
business_logic2(company)
change_celery_settings()
如何配置Django,以便每次Django重新启动时都调用上述函数?请注意,由于使用了Gunicorn,因此我不会做python manage.py runserver
,而是要启动和停止Gunicorn网络服务器
解决方法
如果您想在每次Django启动时都调用代码,则可以通过覆盖其ready函数在应用程序配置中执行代码。 例如
class FooConfig(AppConfig):
def ready(self):
# read list of registered companies from the database
companies = Company.objects.all()
for company in companies:
# perform various operations on the data
business_logic1(company)
business_logic2(company)
change_celery_settings()
有关更多信息,请参见over in the Django docs
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。