1
私はcelery
モジュールを初めて使用しているので、特定の関数の実行後に1つのタスクを実行したい。 tasks.py
を作成1つの関数を正常に実行した後に別のタスクを実行する
import djcelery
djcelery.setup_loader()
BROKER_URL = 'amqp://rahul:[email protected]:5672//'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_IMPORTS = ('projectmanagement.tasks',)
:
変更settings.py
:
は、私は私のDjangoのアプリで以下の変更を行っている
from celery import task
@task()
def add(x, y):
print (x+y)
return x + y
マイview.py
:
class Multiply(APIView):
def get(self,request):
x = request.GET['x']
y = request.GET['y']
try:
z= x*y
data = {'success':True,'msg':'x and y multiply','result':z}
return HttpResponse(json.dumps(data),content_type="application/json")
except Exception,e:
print str(e)
data = {'success':False,'msg':'Error in multiplying x and y'}
return HttpResponse(json.dumps(data),content_type="application/json")
今、multiply
メソッドが正常に実行された後に、セロリのタスクを呼び出すようにします。
APIの応答がセロリタスクの実行と独立するように、私は自分のビュー関数で自分のタスクを呼び出す必要がありますか?
私は疑問に思っていましたが、私の答えは役に立ちましたか? –