我想定期运行代码在django为此我下载了芹菜并试图配置它
添加到设置中。派克
INSTALLED_APPS = [
'django_celery_results',
'django_celery_beat',
}
CELERY_TIMEZONE = "Australia/Tasmania"
CELERY_TASK_TRACK_STARTED = True
CELERY_TASK_TIME_LIMIT = 30 * 60
CELERY_RESULT_BACKEND = 'django-db'
CELERY_RESULT_BACKEND = 'django-cache'
CELERY_CACHE_BACKEND = 'default'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
}
}
他做了一个芹菜。py文件
import os
from celery import Celery
name='shop'
os.environ.setdefault('DJANGO_SETTINGS_MODULE', name+'.settings')
app = Celery(name)
app.config_from_html" target="_blank">object('django.conf:settings', namespace='CELERY')
app.conf.beat_schedule = {
'every-15-seconds':{
'task':'offers.tasks.send_email',
'schedule':15,
'args':('dsssew.com',)
}
}
app.conf.timezone = 'UTC'
app.autodiscover_tasks()
@app.task(bind=True)
def debug_task(self):
print(f'Request: {self.request!r}')
创建了一个任务。py文件
from __future__ import absolute_import, unicode_literals
from celery import shared_task
@shared_task
def send_email(email):
print(email)
@shared_task
def add(x, y):
return x + y
@shared_task
def mul(x, y):
return x * y
@shared_task
def xsum(numbers):
return sum(numbers)
依次发射了一切
python manage.py runserver
celery -A shop worker -l INFO
celery -A shop beat -l INFO
节拍带给我的
芹菜。0.5(奇点)正在启动本地时间-
但工人每15秒就扔下一个
[2021-02-19 16:18:02,275:警告/SpawnPoolWorker-1]c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\celery\app\trace.py:617: RuntimeWarning:异常在正文外部引发:类型错误('ord()预期长度为1的字符串,但找到了int'): Traceback(大多数最近一次调用):文件"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\celery\app\trace.py",第400行,在trace_task请求=task_request,文件"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\celery\后端\base.py,第435行,在store_result请求=请求,**kwargs)文件"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\芹菜\后端\base.py",第851行,在_store_resultcurrent_meta=自我。_get_task_meta_for(task_id)文件"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\celery\后端\base.py",第869行,_get_task_meta_formeta=self.get(self.get_key_for_task(task_id))File"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\django_celery_results\后端\cache.py,第19行,在get返回self.cache_backend.get(key)File"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\django\core\ache\后端\db.py",第51行,在get返回self.get_many([key],版本). get(key,默认)文件"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\django\core\ache\后端\db.py",第59行,get_manyself.validate_key(key)文件"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\django\core\ache\后端\base.py",第249行,validate_keymemcache_key_warnings警告(key):文件"c:\用户\admin\appdata\本地\程序\python\python37\lib\site-包\django\core\缓存\后端\base.py",第287行,memcache_key_warningsif(char)
我不明白是什么错误,以及如何修复它?
@sortfact-尝试以下操作。它有很好的界面,您可以在管理员中访问,并且有一些非常棒的配置,您可以使用这些配置来配置调度器。
https://django-celery-beat.readthedocs.io/en/latest/
问题内容: 地球人你好!我正在使用Airflow计划和运行Spark任务。我这次发现的所有内容都是Airflow可以管理的python DAG。 DAG示例: 问题是我的Python代码不好,并且有一些用Java编写的任务。我的问题是如何在python DAG中运行Spark Java jar?或者,也许还有其他方法吗?我发现了spark提交:http : //spark.apache.org/d
问题内容: 在我的代码中,仅当它在JUnit测试中运行时,才需要进行某些修复。如何确定代码是否在JUnit测试中运行?是否有类似JUnit.isRunning()== true的东西? 问题答案: 如果您要以编程方式确定要运行哪个“配置文件”,则可能是一个好主意。考虑使用Spring Profiles进行配置。在集成测试中,您可能需要针对其他数据库进行测试。 这是经过测试的有效代码
我想在我的小部件构建完成后,在一定的延迟后执行一个函数。在Flatter中,这样做的惯用方法是什么? 我试图实现的是:我想从默认的FlutterLogo小部件开始,然后在一段时间后更改其样式属性。
我想通过将spark Java/Scala api转换为dll文件来运行C#中的apache spark源代码。我引用了IKVM/IKVMC将spark jar文件转换为dll文件,但无法得到正确的结果。有没有办法在C#中运行spark源?
问题内容: 我真的很喜欢使用sublime text 2编写Python代码,但是,每当我尝试运行具有输入的脚本时,sublime text控制台都会报告错误。因此,我决定尝试,但是我已经搜索了几个小时,却没有找到如何运行Python代码的方法……你们能帮我吗? 我想像使用sublime文本控制台()一样运行代码。我真正想知道的是是否有一种方法可以做到这一点。 先感谢您! 问题答案: 来自http
在JupyterLab和Jupyter Notebook中,您可以使用执行单元格: 代码: 单元和输出: 但是,如何只运行第2行?或者甚至在一个单元中选择一行而不运行整个单元?当然,你可以只插入一行或一组行的单元格,但这会很快变得非常麻烦和混乱。那么,有没有更好的方法?