Tôi đang sử dụng apscheduler và tôi đang cố gắng để vượt qua trong tham số cho hàm xử lý mà được gọi là khi công việc dự kiến được đưa ra:thông số đi qua để apscheduler hàm điều khiển
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)
Việc làm này mang lại cho tôi những lỗi sau:
TypeError: func must be callable
Có thể chuyển tham số vào trình xử lý chức năng hay không. Nếu không, có bất kỳ lựa chọn thay thế nào không? Về cơ bản, tôi cần mỗi công việc theo lịch trình để trả lại một chuỗi mà tôi chuyển vào khi tôi tạo lịch biểu. Cảm ơn!
ngọt nó hoạt động! Bạn có nghĩ rằng bạn có thể nhanh chóng giải thích lý do tại sao điều này hoạt động/cách sửa lỗi này? Cảm ơn! –
Nó được giải thích. Bạn cần phải chuyển một hàm, tức là cái gì đó có thể được gọi. def foo(): pass "foo" là hàm "foo()" là giá trị trả về của việc gọi hàm đó. –
@ still.Learning Python hỗ trợ tạo các hàm ẩn danh (tức là các hàm không bị ràng buộc với tên) tại thời gian chạy, sử dụng cấu trúc được gọi là "lambda". Đây là một chức năng bình thường -> def f (h): return h ** 10, và đây là một functin lambda -> g = lambda h: h ** 10, thông báo sự khác biệt ;) –