我对Python相当陌生。我有一个基于Django的Web应用程序,我在其中使用Kafka执行一些任务。
我正在使用confluent-kafka
包装器与Kafka Broker进行通信。
因此,一旦在 kafka 经纪人上创建了主题,我就指定了一个消费者来订阅此过程,为了使其不受阻碍,我正在使用{{ 1}}模块,以便使用者在单独的线程上运行,而不阻塞主应用程序线程。
但是,我不确定,如果服务器关闭,会发生什么?即使服务器未运行,该过程还会像cronjobs一样运行吗?
如果不能,请给我建议我如何触发使用者,使其独立于django服务器?
答案 0 :(得分:0)
如果您需要Web服务器从Kafka实际获取数据,则它们需要一起运行。
您可能不希望使用者在后台主动运行(作为一个单独的进程,而不是线程),因为这样实际上就不会处理消息。
根据数据的不同,您可以在与Django相同的计算机上使用Kafka Connect将Kafka事件写入数据库,然后Django会查询数据库