2017-05-17 5 views
0

Ich benutze Bibliotheks-Scheduler für Cron-Jobs in Python. Ich möchte mehrere Argumente an den geplanten Job senden. Aber ich bin immer follwing Fehler:Scheduler - self.job_func = functools.partial (job_func, * args, ** kwargs)

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 

Unten ist mein Code. Ich bin mit Multithreading und möchte meinen Thread Aufgaben planen:

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() 

Das hat nicht funktioniert:

schedule.every(10).minutes.do(phoneidLogger.getSplunkLogs(arg1,arg2,arg3,arg4)) 

Folgenden auch nicht helfen:

schedule.every(10).minutes.do(phoneidLogger.getSplunkLogs,arg1,arg2,arg3,arg4) 
+0

Wo ist 'job_func' definiert? –

+0

Es konnte leider nicht richtig formatiert werden - Its ** phoneidLogger.getSplunkLogs ** wobei phoneIdlogger eine Instanz einer Klasse ist. – user93726

+0

Hier ist phoneIdLogger eigentlich SomeClassInstance – user93726

Antwort

0

Sie müssen passieren eine freie Funktion für Ihren Scheduler.

Beachten Sie, dass

phoneidLogger.getSplunkLogs(arg1, arg2, arg3) 

äquivalent zu

PhoneLoggerClass.getSplunkLogs(phoneidLogger, arg1, arg2, arg3) 

Mit diesem Wissen, das Richtige ist in phoneidLogger als Argument für unsere Scheduler passieren zu tun.

schedule.every(10).minutes.do(PhoneLoggerClass.getSplunkLogs, 
           phoneidLogger, 
           arg1, arg2, arg3, arg4) 
+0

** Zeitplan.Alles (10) .Minuten.do (SplunkLogger.getSplunkLogs, PhoneIDLogger, Arg1, Arg2, Arg3, Arg4) ** --- verlässt mich aus dem Thread. Es wird nicht ausgeführt. – user93726

+0

Dann müssen Sie viel mehr Details in Ihrer Frage geben. Stellen Sie eine [mcve] bereit. –

+0

Was "verlässt mich aus dem Thread"? –

Verwandte Themen