APScheduler引发TypeError('func必须是可调用的')TypeError:func必须是可调用的

时间:2014-12-23 18:11:22

标签: python json apscheduler

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

"引发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函数,但最后会出现以下错误。       提出TypeError(' func必须是可调用的')       TypeError:func必须是可调用的

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

之前相同的代码工作正常。

非常感谢您的帮助。 感谢

0 个答案:

没有答案