因此,我希望有以下架构:
烧瓶API (VM 1) -> Redis Server (VM 2) <- Worker (VM 3)
我看到了一些例子,我得到的想法是在API上定义处理作业的任务(工作人员将执行)并将其推送到Redis队列。我不理解的是,远程工作人员如何知道要执行的函数处理程序的代码?我看到的所有示例中都有与API代码相同的目录.Redis是否存储工作人员将要执行的函数的字节码?我是否必须生成一个工作人员并将其链接到包含所有任务处理程序代码的代码?
请澄清我..。
发布于 2022-07-30 22:23:03
正如我从这中了解到的,当您创建一个作业时,您想要执行的指导代码必须在工作机器上。本指南中的示例:
rq_job = current_app.task_queue.enqueue('app.tasks.' + name, self.id,
*args, **kwargs)在app.Task+‘name’中,您将描述存储在Worker中的.py文件的路径。
因此Redis存储有关作业和工人的信息,执行在作业中描述的代码。
https://stackoverflow.com/questions/71412634
复制相似问题