我正在创建 django 应用程序(django 术语中的应用程序),其中第一个应用程序在表中插入数据,第二个应用程序从表中选择一项,处理它并最终从表中删除。它会继续这样做,直到处理完所有条目。处理完所有条目后,它将停止。当有新条目时它会重新开始。所以这就像消费者-生产者问题。
当第一个条目进入表时,如何使用 django 信号启动第二个应用程序?
我正在创建 django 应用程序(django 术语中的应用程序),其中第一个应用程序在表中插入数据,第二个应用程序从表中选择一项,处理它并最终从表中删除。它会继续这样做,直到处理完所有条目。处理完所有条目后,它将停止。当有新条目时它会重新开始。所以这就像消费者-生产者问题。
当第一个条目进入表时,如何使用 django 信号启动第二个应用程序?
如评论中所述,该问题的解决方案是django-celery。django-celery 提供了一个任务队列,在不阻塞请求的情况下处理任务。因此,如果生产者发现表为空,则在插入新项目时,它会使用 post_save 方法向消费者发出信号,并且处理程序启动任务并在全部完成后停止。