如何创建独立于Django服务器的kafka使用者

时间:2019-04-21 09:16:10

标签: django python-3.x multithreading apache-kafka

我对Python相当陌生。我有一个基于Django的Web应用程序,我在其中使用Kafka执行一些任务。 我正在使用confluent-kafka包装器与Kafka Broker进行通信。

因此,一旦在 kafka 经纪人上创建了主题,我就指定了一个消费者来订阅此过程,为了使其不受阻碍,我正在使用{{ 1}}模块,以便使用者在单独的线程上运行,而不阻塞主应用程序线程。

但是,我不确定,如果服务器关闭,会发生什么?即使服务器未运行,该过程还会像cronjobs一样运行吗?

如果不能,请给我建议我如何触发使用者,使其独立于django服务器?

1 个答案:

答案 0 :(得分:0)

如果您需要Web服务器从Kafka实际获取数据,则它们需要一起运行。

您可能不希望使用者在后台主动运行(作为一个单独的进程,而不是线程),因为这样实际上就不会处理消息。

根据数据的不同,您可以在与Django相同的计算机上使用Kafka Connect将Kafka事件写入数据库,然后Django会查询数据库