我想使用ruby脚本将作业提交到faktory服务器(https://github.com/contribsys/faktory/wiki),以启动python工作程序。 Faktory应该是语言不可知论的完美选择,但是文档只涉及ruby(job和worker)或python(job和worker)的情况。很快,我有两个问题:
下面是一个最小的(非)工作示例。 首先,python工作文件:
from faktory import Worker
import logging
logging.basicConfig(level=logging.INFO)
def python_worker(var_int):
print(var_int)
w = Worker(queues=['default'], concurrency=1)
w.register('PythonWorker', python_worker)
w.run()
现在是ruby文件:
class RubyJob < ApplicationJob
include Faktory::Job
faktory_options retry: 5
queue_as :default
end
要调用作业,我使用RubyJob.perform_later(1)
回到两个问题:
目前,我需要将python工作程序注册为'ActiveJob::QueueAdapters::FaktoryAdapter::JobWrapper'
可能有用的是一个ruby作业和python工作者的最小示例,类似于ruby(https://github.com/contribsys/faktory/wiki/Getting-Started-Ruby)或python(https://www.mikeperham.com/2019/01/08/using-faktory-with-python/)的示例
您的Ruby代码根本不需要任何作业。工作是Python。Ruby代码只需要创建作业记录并将其发送到Faktory,这样python工作人员就可以获取它。在Ruby中,使用普通的Faktory::Client API创建基本作业:
启动Faktory,启动Faktory\u worker\u python进程,并在Ruby应用程序中运行该代码
相关问题 更多 >
编程相关推荐