嗨,我想启动一个在我的应用程序第一次运行时运行的后台线程。我已经使用ready() 应用程序配置的功能实现了它。
class MyappConfig(AppConfig):
name = 'myApp'
def ready(self):
try:
thread = threading.Thread(target=xxxx)
except:
pass
Run Code Online (Sandbox Code Playgroud)
问题是当 Django 运行它的迁移时也会调用这个方法,它不应该。我怎样才能防止这种情况发生。
我曾尝试使用 Django 后台任务,但它根本不会运行该任务
如果使用“python manage.py [migrate]”调用脚本,则可以避免执行代码:
import sys
if not 'manage.py' in sys.argv:
....
Run Code Online (Sandbox Code Playgroud)