Completed
Push — master ( 12be21...88e98c )
by Bart
17s
created

queue_job()   A

Complexity

Conditions 2

Size

Total Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
c 1
b 0
f 1
dl 0
loc 15
rs 9.4285
1
# -*- coding: utf-8 -*-
2
from rq import Connection, Queue
3
import logging
4
5
6
def queue_job(redis_connection, queue_name, delegate, *args):
7
    """
8
9
    :param redis_connection: redis connection instance
10
    :param queue_name: name of the queue to place the job on
11
    :param delegate: function to be executed by the queue -> 'package.module.function'
12
    :param args: arguments list used by called function
13
    :return: id of the job
14
    """
15
    logging.info("scheduling job {}".format(delegate))
16
17
    with Connection(redis_connection):
18
        q = Queue(queue_name)
19
        job = q.enqueue(delegate, *args)
20
        return job.id
21
22