- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 celery beat 和 docker 为我的 Flask 应用程序运行定期 celery 任务。但是,当我运行容器时,出现以下错误:
Removing corrupted schedule file 'celerybeat-schedule': error(22, 'Invalid argument')
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
return obj.__dict__[self.__name__]
KeyError: 'scheduler'
settings.py
中定义了节拍调度程序像这样:
CELERYBEAT_SCHEDULE = {
'fetch-expensify-reports': {
'task': 'canopact.blueprints.carbon.tasks.fetch_reports',
'schedule': 10.0
}
}
create_celery_app
我的
app.py
中的函数文件:
def create_celery_app(app=None):
"""
Create a new Celery object and tie together the Celery config to the app's
config. Wrap all tasks in the context of the application.
:param app: Flask app
:return: Celery app
"""
app = app or create_app()
celery = Celery(app.import_name, broker=app.config['CELERY_BROKER_URL'],
include=CELERY_TASK_LIST)
celery.conf.update(app.config)
TaskBase = celery.Task
class ContextTask(TaskBase):
abstract = True
def __call__(self, *args, **kwargs):
with app.app_context():
return TaskBase.__call__(self, *args, **kwargs)
celery.Task = ContextTask
return celery
docker-compose.yml
中拆分 celery worker 和 celery 节拍时间表文件像这样:
celery:
build: .
command: celery worker -l info -A canopact.blueprints.contact.tasks
env_file:
- '.env'
volumes:
- '.:/canopact'
celery_beat:
build: .
command: celery beat -l info -A canopact.blueprints.contact.tasks
env_file:
- '.env'
volumes:
- '.:/canopact'
docker-compose up
再次创建文件并抛出相同的错误。
celery_beat_1 | celery beat v4.3.0 (rhubarb) is starting.
celery_beat_1 | __ - ... __ - _
celery_beat_1 | LocalTime -> 2020-05-24 19:44:38
celery_beat_1 | Configuration ->
celery_beat_1 | . broker -> redis://:**@redis:6379/0
celery_beat_1 | . loader -> celery.loaders.app.AppLoader
celery_beat_1 | . scheduler -> celery.beat.PersistentScheduler
celery_beat_1 | . db -> celerybeat-schedule
celery_beat_1 | . logfile -> [stderr]@%INFO
celery_beat_1 | . maxinterval -> 5.00 minutes (300s)
celery_beat_1 | [2020-05-24 19:44:38,622: INFO/MainProcess] beat: Starting...
celery_beat_1 | [2020-05-24 19:44:38,696: ERROR/MainProcess] Removing corrupted schedule file 'celerybeat-schedule': error(22, 'Invalid argument')
celery_beat_1 | Traceback (most recent call last):
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
celery_beat_1 | return obj.__dict__[self.__name__]
celery_beat_1 | KeyError: 'scheduler'
celery_beat_1 |
celery_beat_1 | During handling of the above exception, another exception occurred:
celery_beat_1 |
celery_beat_1 | Traceback (most recent call last):
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 485, in setup_schedule
celery_beat_1 | self._store = self._open_schedule()
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 475, in _open_schedule
celery_beat_1 | return self.persistence.open(self.schedule_filename, writeback=True)
celery_beat_1 | File "/usr/local/lib/python3.7/shelve.py", line 243, in open
celery_beat_1 | return DbfilenameShelf(filename, flag, protocol, writeback)
celery_beat_1 | File "/usr/local/lib/python3.7/shelve.py", line 227, in __init__
celery_beat_1 | Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
celery_beat_1 | File "/usr/local/lib/python3.7/dbm/__init__.py", line 94, in open
celery_beat_1 | return mod.open(file, flag, mode)
celery_beat_1 | _gdbm.error: [Errno 22] Invalid argument
celery_beat_1 | [2020-05-24 19:44:38,730: CRITICAL/MainProcess] beat raised exception <class '_gdbm.error'>: error(22, 'Invalid argument')
celery_beat_1 | Traceback (most recent call last):
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
celery_beat_1 | return obj.__dict__[self.__name__]
celery_beat_1 | KeyError: 'scheduler'
celery_beat_1 |
celery_beat_1 | During handling of the above exception, another exception occurred:
celery_beat_1 |
celery_beat_1 | Traceback (most recent call last):
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 485, in setup_schedule
celery_beat_1 | self._store = self._open_schedule()
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 475, in _open_schedule
celery_beat_1 | return self.persistence.open(self.schedule_filename, writeback=True)
celery_beat_1 | File "/usr/local/lib/python3.7/shelve.py", line 243, in open
celery_beat_1 | return DbfilenameShelf(filename, flag, protocol, writeback)
celery_beat_1 | File "/usr/local/lib/python3.7/shelve.py", line 227, in __init__
celery_beat_1 | Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
celery_beat_1 | File "/usr/local/lib/python3.7/dbm/__init__.py", line 94, in open
celery_beat_1 | return mod.open(file, flag, mode)
celery_beat_1 | _gdbm.error: [Errno 22] Invalid argument
celery_beat_1 |
celery_beat_1 | During handling of the above exception, another exception occurred:
celery_beat_1 |
celery_beat_1 | Traceback (most recent call last):
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/apps/beat.py", line 109, in start_scheduler
celery_beat_1 | service.start()
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 588, in start
celery_beat_1 | humanize_seconds(self.scheduler.max_interval))
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py", line 44, in __get__
celery_beat_1 | value = obj.__dict__[self.__name__] = self.__get(obj)
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 632, in scheduler
celery_beat_1 | return self.get_scheduler()
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 627, in get_scheduler
celery_beat_1 | lazy=lazy,
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 467, in __init__
celery_beat_1 | Scheduler.__init__(self, *args, **kwargs)
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 226, in __init__
celery_beat_1 | self.setup_schedule()
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 493, in setup_schedule
celery_beat_1 | self._store = self._destroy_open_corrupted_schedule(exc)
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 481, in _destroy_open_corrupted_schedule
celery_beat_1 | return self._open_schedule()
celery_beat_1 | File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 475, in _open_schedule
celery_beat_1 | return self.persistence.open(self.schedule_filename, writeback=True)
celery_beat_1 | File "/usr/local/lib/python3.7/shelve.py", line 243, in open
celery_beat_1 | return DbfilenameShelf(filename, flag, protocol, writeback)
celery_beat_1 | File "/usr/local/lib/python3.7/shelve.py", line 227, in __init__
celery_beat_1 | Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
celery_beat_1 | File "/usr/local/lib/python3.7/dbm/__init__.py", line 94, in open
celery_beat_1 | return mod.open(file, flag, mode)
celery_beat_1 | _gdbm.error: [Errno 22] Invalid argument
celery_beat_1 | [2020-05-24 19:44:38,736: WARNING/MainProcess] Traceback (most recent call last):
celery_beat_1 | [2020-05-24 19:44:38,737: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
celery_beat_1 | [2020-05-24 19:44:38,738: WARNING/MainProcess] return obj.__dict__[self.__name__]
celery_beat_1 | [2020-05-24 19:44:38,739: WARNING/MainProcess] KeyError
celery_beat_1 | [2020-05-24 19:44:38,743: WARNING/MainProcess] :
celery_beat_1 | [2020-05-24 19:44:38,744: WARNING/MainProcess] 'scheduler'
celery_beat_1 | [2020-05-24 19:44:38,745: WARNING/MainProcess] During handling of the above exception, another exception occurred:
celery_beat_1 | [2020-05-24 19:44:38,746: WARNING/MainProcess] Traceback (most recent call last):
celery_beat_1 | [2020-05-24 19:44:38,747: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 485, in setup_schedule
celery_beat_1 | [2020-05-24 19:44:38,749: WARNING/MainProcess] self._store = self._open_schedule()
celery_beat_1 | [2020-05-24 19:44:38,751: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 475, in _open_schedule
celery_beat_1 | [2020-05-24 19:44:38,756: WARNING/MainProcess] return self.persistence.open(self.schedule_filename, writeback=True)
celery_beat_1 | [2020-05-24 19:44:38,757: WARNING/MainProcess] File "/usr/local/lib/python3.7/shelve.py", line 243, in open
celery_beat_1 | [2020-05-24 19:44:38,759: WARNING/MainProcess] return DbfilenameShelf(filename, flag, protocol, writeback)
celery_beat_1 | [2020-05-24 19:44:38,760: WARNING/MainProcess] File "/usr/local/lib/python3.7/shelve.py", line 227, in __init__
celery_beat_1 | [2020-05-24 19:44:38,761: WARNING/MainProcess] Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
celery_beat_1 | [2020-05-24 19:44:38,762: WARNING/MainProcess] File "/usr/local/lib/python3.7/dbm/__init__.py", line 94, in open
celery_beat_1 | [2020-05-24 19:44:38,764: WARNING/MainProcess] return mod.open(file, flag, mode)
celery_beat_1 | [2020-05-24 19:44:38,770: WARNING/MainProcess] _gdbm
celery_beat_1 | [2020-05-24 19:44:38,772: WARNING/MainProcess] .
celery_beat_1 | [2020-05-24 19:44:38,774: WARNING/MainProcess] error
celery_beat_1 | [2020-05-24 19:44:38,776: WARNING/MainProcess] :
celery_beat_1 | [2020-05-24 19:44:38,777: WARNING/MainProcess] [Errno 22] Invalid argument
celery_beat_1 | [2020-05-24 19:44:38,778: WARNING/MainProcess] During handling of the above exception, another exception occurred:
celery_beat_1 | [2020-05-24 19:44:38,779: WARNING/MainProcess] Traceback (most recent call last):
celery_beat_1 | [2020-05-24 19:44:38,779: WARNING/MainProcess] File "/usr/local/bin/celery", line 8, in <module>
celery_beat_1 | [2020-05-24 19:44:38,780: WARNING/MainProcess] sys.exit(main())
celery_beat_1 | [2020-05-24 19:44:38,782: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/__main__.py", line 16, in main
celery_beat_1 | [2020-05-24 19:44:38,783: WARNING/MainProcess] _main()
celery_beat_1 | [2020-05-24 19:44:38,785: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/celery.py", line 322, in main
celery_beat_1 | [2020-05-24 19:44:38,787: WARNING/MainProcess] cmd.execute_from_commandline(argv)
celery_beat_1 | [2020-05-24 19:44:38,788: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/celery.py", line 496, in execute_from_commandline
celery_beat_1 | [2020-05-24 19:44:38,795: WARNING/MainProcess] super(CeleryCommand, self).execute_from_commandline(argv)))
celery_beat_1 | [2020-05-24 19:44:38,796: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/base.py", line 298, in execute_from_commandline
celery_beat_1 | [2020-05-24 19:44:38,797: WARNING/MainProcess] return self.handle_argv(self.prog_name, argv[1:])
celery_beat_1 | [2020-05-24 19:44:38,798: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/celery.py", line 488, in handle_argv
celery_beat_1 | [2020-05-24 19:44:38,801: WARNING/MainProcess] return self.execute(command, argv)
celery_beat_1 | [2020-05-24 19:44:38,803: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/celery.py", line 420, in execute
celery_beat_1 | [2020-05-24 19:44:38,809: WARNING/MainProcess] ).run_from_argv(self.prog_name, argv[1:], command=argv[0])
celery_beat_1 | [2020-05-24 19:44:38,810: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/base.py", line 302, in run_from_argv
celery_beat_1 | [2020-05-24 19:44:38,812: WARNING/MainProcess] sys.argv if argv is None else argv, command)
celery_beat_1 | [2020-05-24 19:44:38,813: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/base.py", line 386, in handle_argv
celery_beat_1 | [2020-05-24 19:44:38,818: WARNING/MainProcess] return self(*args, **options)
celery_beat_1 | [2020-05-24 19:44:38,821: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/base.py", line 252, in __call__
celery_beat_1 | [2020-05-24 19:44:38,827: WARNING/MainProcess] ret = self.run(*args, **kwargs)
celery_beat_1 | [2020-05-24 19:44:38,827: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/bin/beat.py", line 109, in run
celery_beat_1 | [2020-05-24 19:44:38,830: WARNING/MainProcess] return beat().run()
celery_beat_1 | [2020-05-24 19:44:38,830: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/apps/beat.py", line 81, in run
celery_beat_1 | [2020-05-24 19:44:38,832: WARNING/MainProcess] self.start_scheduler()
celery_beat_1 | [2020-05-24 19:44:38,833: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/apps/beat.py", line 109, in start_scheduler
celery_beat_1 | [2020-05-24 19:44:38,834: WARNING/MainProcess] service.start()
celery_beat_1 | [2020-05-24 19:44:38,836: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 588, in start
celery_beat_1 | [2020-05-24 19:44:38,838: WARNING/MainProcess] humanize_seconds(self.scheduler.max_interval))
celery_beat_1 | [2020-05-24 19:44:38,841: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py", line 44, in __get__
celery_beat_1 | [2020-05-24 19:44:38,843: WARNING/MainProcess] value = obj.__dict__[self.__name__] = self.__get(obj)
celery_beat_1 | [2020-05-24 19:44:38,844: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 632, in scheduler
celery_beat_1 | [2020-05-24 19:44:38,849: WARNING/MainProcess] return self.get_scheduler()
celery_beat_1 | [2020-05-24 19:44:38,850: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 627, in get_scheduler
celery_beat_1 | [2020-05-24 19:44:38,852: WARNING/MainProcess] lazy=lazy,
celery_beat_1 | [2020-05-24 19:44:38,852: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 467, in __init__
celery_beat_1 | [2020-05-24 19:44:38,855: WARNING/MainProcess] Scheduler.__init__(self, *args, **kwargs)
celery_beat_1 | [2020-05-24 19:44:38,859: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 226, in __init__
celery_beat_1 | [2020-05-24 19:44:38,864: WARNING/MainProcess] self.setup_schedule()
celery_beat_1 | [2020-05-24 19:44:38,865: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 493, in setup_schedule
celery_beat_1 | [2020-05-24 19:44:38,867: WARNING/MainProcess] self._store = self._destroy_open_corrupted_schedule(exc)
celery_beat_1 | [2020-05-24 19:44:38,868: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 481, in _destroy_open_corrupted_schedule
celery_beat_1 | [2020-05-24 19:44:38,873: WARNING/MainProcess] return self._open_schedule()
celery_beat_1 | [2020-05-24 19:44:38,874: WARNING/MainProcess] File "/usr/local/lib/python3.7/site-packages/celery/beat.py", line 475, in _open_schedule
celery_beat_1 | [2020-05-24 19:44:38,876: WARNING/MainProcess] return self.persistence.open(self.schedule_filename, writeback=True)
celery_beat_1 | [2020-05-24 19:44:38,879: WARNING/MainProcess] File "/usr/local/lib/python3.7/shelve.py", line 243, in open
celery_beat_1 | [2020-05-24 19:44:38,884: WARNING/MainProcess] return DbfilenameShelf(filename, flag, protocol, writeback)
celery_beat_1 | [2020-05-24 19:44:38,885: WARNING/MainProcess] File "/usr/local/lib/python3.7/shelve.py", line 227, in __init__
celery_beat_1 | [2020-05-24 19:44:38,886: WARNING/MainProcess] Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
celery_beat_1 | [2020-05-24 19:44:38,887: WARNING/MainProcess] File "/usr/local/lib/python3.7/dbm/__init__.py", line 94, in open
celery_beat_1 | [2020-05-24 19:44:38,889: WARNING/MainProcess] return mod.open(file, flag, mode)
celery_beat_1 | [2020-05-24 19:44:38,890: WARNING/MainProcess] _gdbm
celery_beat_1 | [2020-05-24 19:44:38,892: WARNING/MainProcess] .
celery_beat_1 | [2020-05-24 19:44:38,896: WARNING/MainProcess] error
celery_beat_1 | [2020-05-24 19:44:38,898: WARNING/MainProcess] :
最佳答案
这很奇怪,我现在还没有解决方案,但我找到了一种绕过这个的方法。
为什么我们会遇到这个问题:
以下是关于 celery docs 的一些想法这解释了这里发生的事情:
Beat needs to store the last run times of the tasks in a local database file (named celerybeat-schedule by default), so it needs access to write in the current directory, or alternatively you can specify a custom location for this file:
app.conf.redbeat_redis_url = your redis url
celery:
build: .
command: celery worker -l info -A canopact.blueprints.contact.tasks
env_file:
- '.env'
volumes:
- '.:/canopact'
celery_beat:
build: .
command: celery beat -l info -A canopact.blueprints.contact.tasks -S redbeat.RedBeatScheduler
env_file:
- '.env'
volumes:
- '.:/canopact'
关于python - celery-beat KeyError : 'scheduler' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62000970/
我已按照此 repo https://github.com/elastic/beats-dashboards 中概述的说明进行操作在本地克隆它并尝试运行脚本以加载仪表板后。然而,我收到了这个作为响应,
我使用 Celery 3.1.23 在 Heroku 上运行 Django 1.9 网站。 RabbitMQ 用作代理。 重启beat worker后,内存占用一直在497Mb左右。这导致频繁出现错误
我最近用 RabbitMQ 和 Celery 配置了一个新服务器。当我尝试在机器上启动 Celerybeat 时,它会启动几秒钟然后停止。我已授予日志文件的正确权限并将所有者更改为应用程序用户。我还检
我对Elastic Stack还是很陌生,从我在这个主题上阅读的内容中,我仍然看不到整个图片。 假设我使用的是最新版本的Filebeat或Metricbeat,然后将该数据推送到Logstash输出(
我遇到了一个奇怪的问题。 我正在创建一个基于位置的网络应用程序,它使用 javascript 函数来获取用户的 GPS 坐标。我有一个带有提交按钮的表单,当单击该提交按钮时,将调用该函数 (oncli
我刚遇到 this 它看起来非常棒,所以我当然去了 右键单击并检查元素 但我看到的只是一堆 script 标签和一个 canvas 标签,上面写着“This game is built for Goo
在我的 Django 项目中,我使用 Celery 和 Rabbitmq 在后台运行任务。 我正在使用 celery beat scheduler 来运行周期性任务。 如何以编程方式检查 celery
我有一个通过 Celery Beat 定期(每分钟)运行的任务。有时,任务完成执行所需的时间会超过一分钟,这会导致调度程序在任务已经运行时将该任务添加到队列中。 如果这些任务已经在运行,有没有办法避免
我一直在广泛搜索,到目前为止我遇到的一切都表明我的配置是正确的......我可以看到我的任务正在我的 celery worker 容器中注册。我没有看到它们在我的节拍容器中注册(但我认为我应该?我应该
为什么我不能运行定期任务? 项目/settings.py REDIS_HOST = 'localhost' REDIS_PORT = '6379' CELERY_BROKER_URL = 'redis
我是 ElasticSearch 精彩世界的新手,所以请放纵一下。 我正在考虑 Microsoft sql 数据源的导入和同步策略,如果我没有误解,我可以使用输入插件 JDBC 或 Beats。 但我
我正在尝试发送带有节拍的多种类型的日志,并在logstash服务器上解析它们。 我已配置好节拍并正常工作,并且几乎使logstash正常工作。 我遇到问题的地方是other-log.log具有以不同格
我在同一台机器上有 Elasticsearh、Logstash 和 Beat/filebeat。 Filebeat 配置为将信息发送到 localhost:5043。Logstash 有一个管道配置监
我正在尝试使用 celery beat 和 docker 为我的 Flask 应用程序运行定期 celery 任务。但是,当我运行容器时,出现以下错误: Removing corrupted sche
我正在为 Beat'em Up 游戏制作我的 2D 引擎(CaSTLe Crashers 就是我所说的 Beat'em Up 或 Brawler 类游戏)。 我将支持 2D Sprite 和 2D 粒
我有一个计划的 celery 每 30 秒运行一次任务。我有一个每天作为任务运行,另一个每周在用户指定的时间和一周中的某一天运行。它检查“开始时间”和“下一个预定日期”。在任务完成之前,下一个计划日期
我正在尝试测试一个简单的 Celery 应用程序。 config.py extract/ celery.py celeryconfig.py tasks.py
我已经安排了 celery beat 每 3 小时运行一次的任务: 'sync_stuff': { 'task': 'celery_tasks.sync_stuff', 'schedu
我知道有一个命令可以让 celeryd 作为守护进程运行,即; celery 分离。但是我怎样才能使用任何命令将 celery-beat 作为守护进程运行呢?请帮助我。 TIA 最佳答案 只要把这个
我目前有一个 celery beat 任务,它会定期计算一些结果。在外部,我可能有 API 调用(以未知频率)来查询此结果。我正在考虑使用“上次运行任务”结果,因此当 API 进行查询时,celery
我是一名优秀的程序员,十分优秀!