首页 > 编程语言 > 详细

用python执行rails项目sidekiq任务

时间:2020-07-07 17:22:13      阅读:66      评论:0      收藏:0      [点我收藏+]

我们先看一下如何ruby如何推一个任务到sidekiq

https://github.com/mperham/sidekiq/wiki/FAQ#how-do-i-push-a-job-to-sidekiq-without-ruby

require ‘securerandom‘
require ‘json‘

redis = Redis.new(:url => ‘redis://hostname:port/db‘)
msg = { "class" => ‘MyWorker‘,
        "queue" => ‘default‘,
        "args" => [1, 2, 3],
        ‘retry‘ => true,
        ‘jid‘ => SecureRandom.hex(12),
        ‘created_at‘ => Time.now.to_f,
        ‘enqueued_at‘ => Time.now.to_f }
redis.lpush("queue:default", JSON.dump(msg))

本质上是在redis的一个队列key ‘queue:default‘里面塞msg。然后sidekiq再在‘queue:default‘取出来执行。

 

python如何调用ruby项目的sidekiq

import redis
import json

from random import choice
from datetime import datetime

sidekiq_queues = redis.Redis(host=host, port=port, db=db, password=password)

queue = ‘my_queue‘
job = ‘MyJob‘
arguments = 123456789

value = {
    "class": job,
    "queue": queue,
    "args": [arguments],
    "retry": ‘true‘,
    "jid": ‘‘.join([choice(‘qwertyuiopasdfghjklzxcvbnm1234567890‘) for i in range(24)]),
    "created_at": datetime.now().timestamp(),
    "enqueued_at": datetime.now().timestamp()}

sidekiq_queues.sadd("queues", queue)
sidekiq_queues.lpush("queue:{queue}" , json.dumps(value))

 

用python执行rails项目sidekiq任务

原文:https://www.cnblogs.com/wangyuyu/p/13261602.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!