apscheduler को मैं apscheduler उपयोग कर रहा हूँ और मैं हैंडलर समारोह कहा जाता हो जाता है कि जब अनुसूचित नौकरी शुरू की है करने के लिए मानकों में पारित करने के लिए कोशिश कर रहा हूँ:गुजर मानकों हैंडलर समारोह
from apscheduler.scheduler import Scheduler
import time
def printit(sometext):
print "this happens every 5 seconds"
print sometext
sched = Scheduler()
sched.start()
sometext = "this is a passed message"
sched.add_cron_job(printit(sometext), second="*/5")
while True:
time.sleep(1)
यह मेरे निम्नलिखित त्रुटि देता है कर:
TypeError: func must be callable
क्या फ़ंक्शन हैंडलर में पैरामीटर पास करना संभव है। यदि नहीं, तो क्या कोई विकल्प हैं? असल में, मुझे शेड्यूल बनाने पर एक स्ट्रिंग वापस करने के लिए प्रत्येक निर्धारित नौकरी की आवश्यकता होती है। धन्यवाद!
मीठा यह काम करता है! क्या आपको लगता है कि आप जल्दी से समझा सकते हैं कि यह क्यों काम करता है/यह त्रुटि को कैसे हल करता है? धन्यवाद! –
यह समझाया गया है। आपको एक फ़ंक्शन पास करने की आवश्यकता है, यानी कुछ जिसे कहा जा सकता है। def foo(): पास "foo" फ़ंक्शन "foo()" फ़ंक्शन को कॉल करने का वापसी मान है। –
@ अभी भी। सीखना पाइथन "लैम्ब्डा" नामक एक निर्माण का उपयोग करते हुए रन टाइम पर अनाम कार्यों (यानी किसी नाम से बंधे नहीं हैं) के निर्माण का समर्थन करता है। यह एक सामान्य कार्य है -> def f (h): वापसी एच ** 10, और यह एक लैम्ब्डा functin है -> जी = लैम्ब्डा एच: एच ** 10, अंतर ; –