Flask-RQ2 icon indicating copy to clipboard operation
Flask-RQ2 copied to clipboard

Missing on_success and on_failure args in jobfunction.queue()

Open richardfat7 opened this issue 3 years ago • 5 comments

in this line and this line, the enqueue_call didn't recognise on_success and on_failure args, and passed it as kargs if supplied in function call. RQ related source

Sample code:

from flask_rq2 import RQ
from flask import Flask

app = Flask(__name__)
rq = RQ()

rq.init_app(app)

@rq.job()
def do_something():
    return "OK"

def report_success(*args, **kargs):
    print("success")

def report_failure(*args, **kargs):
    print("fail")

def try_to_queue():
    do_something.queue(queue="default", on_success = report_success, on_failure = report_failure)

try_to_queue()

richardfat7 avatar Aug 14 '21 14:08 richardfat7

I've been stuck on working out how to make a success callback in RQ2. But it seems like it's not implemented, so will probably go back to vanilla RQ.

MaxVRAM avatar Aug 19 '21 02:08 MaxVRAM

I haven't looked at the source yet but it seems it should be a relatively simple addition. Any comment on whether this is supported in some other way, or if there are plans to implement it?

EDIT: @MaxVRAM, @richardfat7 , I added this and submitted as PR #118. There are instructions on how to install directly from that branch if you'd like to give it a shot. It works on my application. I'll need the Flask-RQ2 devs to review and merge if you'd like this to be available in the PyPi package

mzpqnxow avatar Oct 30 '21 19:10 mzpqnxow

If this can be reviewed and consider for merge, that'd be terrific. Until then I'll maintain a separate branch

Thanks Flask-RQ2 devs for the work on this project- it makes things look so much cleaner

mzpqnxow avatar Oct 30 '21 19:10 mzpqnxow

Thanks @mzpqnxow . But I have fail back to use rq directly in flask.

richardfat7 avatar Oct 30 '21 20:10 richardfat7