python - 将当前对象传递给 python apscheduler 方法

标签 python oop arguments apscheduler

我正在尝试在类里面每 X 小时安排一次作业。但是我不确定如何将当前上下文传递给该方法,因为它需要“ self ”。我知道如果按 cron 方式执行,我可以使用 args 参数列表,但这也没有用。帮助?

class MyClass(object):
    @settings.scheduler.interval_schedule(hours=2)
    def post(self, first_argument=None):
        # do stuff
        self.cleanup()

结果

Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/apscheduler/scheduler.py", line 510, in _run_job
        retval = job.func(*job.args, **job.kwargs)
    TypeError: post() takes at least 1 argument (0 given)

谢谢。

最佳答案

你可以这样走:

class MyClass(object):
    def post(self, first_argument=None):
        # do stuff
        self.cleanup()


@settings.scheduler.interval_schedule(hours=2)
def my_job(first_argument=None):
    my_class = MyClass()
    my_class.post(first_argument)

或者,这样:

my_class = MyClass()
scheduler.add_job(my_class.post, 'interval', {'seconds': 3}, kwargs={'first_argument': first_argument})

关于python - 将当前对象传递给 python apscheduler 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18421078/

相关文章:

powershell - 如何创建一个可以接收空值或非空值的输入参数

python - 使用 django.db 时如何将原始 SQL 与 ORM API 混合使用?

python - BeautifulSoup 中的 findAll() 会跳过多个 id

python - 如何解决Python错误 "not all arguments converted while string formatting"

java - I/O 错误异常处理 : Unreachable catch block for IOException. try 语句主体永远不会抛出此异常

oop - Erlang 中的进程/消息和 Smalltalk 中的对象/消息有什么区别?

python - 当我尝试在命令行中运行 vim 时出现 Python 错误

python - 如何从处理中排除 Django 模板文件的一部分?

javascript - 是否可以在 JavaScript 中更改对象类型的名称?

java - 这是地道的Java吗?