3

当我尝试运行下面的代码时,它会出现以下错误并且无法调用 myDialerJob 函数。

“raise ValueError('不添加作业,因为它永远不会运行')”

#!/usr/bin/env python
from apscheduler.scheduler import Scheduler
from flask import Flask, jsonify, request, abort,json, redirect, url_for
from apscheduler.job import Job
from apscheduler.jobstores.shelve_store import ShelveJobStore
from apscheduler.jobstores.redis_store import RedisJobStore
import redis
from datetime import datetime, timedelta
import time
sched = Scheduler()
sched.add_jobstore(RedisJobStore(), 'redisJobStore')
app = Flask(__name__)
def myDialerJob(campaignID):
     print "Running sceduled Job NO: %s " % campaignID
     return
@app.route('/campaignNow', methods = ['POST'])
def create_task_now():
        if not request.json or not 'campaignId' in request.json:
                abort(400)
        execTime = datetime.now()
        job = sched.add_date_job(myDialerJob, execTime, args=[request.json['campaignId']], jobstore='redisJobStore')
        resp = jsonify({ 'status': 'Campaign started!' })
        resp.status_code = 200
        return resp
if __name__ == '__main__':
        sched.start()
        app.run(debug = True, host="0.0.0.0", port=5000)

但是当我更改函数 create_task_now() 的一部分时。

  job = sched.add_date_job(myDialerJob(request.json(request.json['campaignId']), execTime, args=[request.json['campaignId']], jobstore='redisJobStore')

它能够调用函数 myDialerJob 但最后它给出了以下错误。raise TypeError('func must be callable') TypeError: func must be callable

唯一的区别是使用值调用函数。

相同的代码以前可以完美运行。

您的帮助将不胜感激。谢谢

4

0 回答 0