我在python中使用库调度程序来执行cron作业。我想向要安排的作业发送多个参数。但我得到了以下错误:
cd E:\
& "\\mynetworkpath\installer.exe"
以下是我的代码。我正在使用多线程,并希望安排我的线程任务:
File "/Library/Python/2.7/site-packages/schedule/__init__.py", line 352, in do
self.job_func = functools.partial(job_func, *args, **kwargs)
TypeError: the first argument must be callable
这不起作用:
class myThread (threading.Thread):
def __init__(self, threadID, name, counter):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.counter = counter
def run(self):
print "Starting " + self.name
SomeClassInstance = SomeClass()
下面也没有帮助:
schedule.every(10).minutes.do(phoneidLogger.getSplunkLogs(arg1,arg2,arg3,arg4))
答案 0 :(得分:0)
您需要将自由函数传递给调度程序。
请记住
phoneidLogger.getSplunkLogs(arg1, arg2, arg3)
相当于
PhoneLoggerClass.getSplunkLogs(phoneidLogger, arg1, arg2, arg3)
知道这一点,正确的做法是将phoneidLogger
作为参数传递给我们的调度程序。
schedule.every(10).minutes.do(PhoneLoggerClass.getSplunkLogs,
phoneidLogger,
arg1, arg2, arg3, arg4)