草庐IT

celery_log_dir

全部标签

python - celery 的过期选项不起作用

我正在玩Celery,我正在尝试使用CELERYBEAT_SCHEDULER执行周期性任务。这是我的配置:CELERY_TIMEZONE='Europe/Kiev'CELERYBEAT_SCHEDULE={'run-task-every-5-seconds':{'task':'tasks.run_every_five_seconds','schedule':timedelta(seconds=5),'options':{'expires':10,}},}#thetask@app.task()defrun_every_five_seconds():return'5secondspasse

python - 我将什么参数传递给 celery 的 get_task_logger() 函数?

celery3.xdocsonlogging建议像这样设置任务记录器:fromcelery.utils.logimportget_task_loggerlogger=get_task_logger(__name__)当我这样做时,CELERYD_TASK_LOG_FORMAT被忽略,日志语句使用CELERYD_LOG_FORMAT代替,我无法使用%(task_name)s和%(task_id)s。我的任务在我的应用myapp的模块tasks中。因此,__name__是myapp.tasks。我认为问题出在celery/utils/log.py中的这些行:defget_task_logg

python - Django 中所有 Celery worker/内存缓存的全局可访问对象

我有非常标准的Django+Rabbitmq+Celery设置,有1个Celery任务和5个worker。任务将相同(我简化了一点)大文件(~100MB)异步上传到多个远程PC。一切都以使用大量内存为代价运行良好,因为每个任务/工作人员都将那个大文件单独加载到内存中。我想做的是拥有某种缓存,所有任务都可以访问,即只加载一次文件。基于locmem的Django缓存将是完美的,但正如文档所说:“每个进程都有自己的私有(private)缓存实例”,我需要所有工作人员都可以访问此缓存。尝试使用#2129820中描述的Celery信号,但这不是我需要的。所以问题是:有没有一种方法可以在Celer

python - 我可以在 Celery 任务中使用通用的 logging.Logger() 吗?

医生说Aspecialloggerisavailablenamed“celery.task”,youcaninheritfromthisloggertoautomaticallygetthetasknameanduniqueidaspartofthelogs.这还不够。有更详细的信息吗?具体来说,它默认定义了哪些处理程序和格式字符串?我为什么要继承它?我可以改用通用的logging.Logger()吗?从celery任务(不是Django)记录到文件的最佳实践是什么?等谢谢。 最佳答案 CanIuseagenericlogging.

python - celery 任务中的grpc超时

我正在尝试在celery任务中连接到GRPC服务器。我有以下一段代码timeout=1host='0.tcp.ngrok.io'port='7145'channel=grpc.insecure_channel('{0}:{1}'.format(host,port))try:grpc.channel_ready_future(channel).result(timeout=timeout)exceptgrpc.FutureTimeoutError:sys.exit(1)stub=stub(channel)当我通过Pythonshell运行此代码段时,我能够建立连接并执行GRPC方法。但是

python - 在 O(log n) 时间内搜索旋转排序数组

我在thisproblem上遇到了困难在leetcode上。我不得不查找解决方案,因为出于某种原因,我的代码总是会出现一些问题。当在数组中查找不存在的目标数字时,我的当前代码仍然无限循环。如果有更直观的方法来解决这个问题并帮助修复我的代码,我正在寻求一些帮助来理解。我认为我不需要这一行:ifnums[mid]==targetornums[low]==targetornums[high]==target:returntarget我想知道我可以做些什么来确保如果我有一个包含1-3个数字的数组,我的代码可以找到目标而无需指定此条件语句。这里有几个例子print(search([1,2,3],

python - celery :任务层次结构后的回调

我正在使用网络应用程序中的Celery来启动任务层次结构。任务我正在使用以下任务:task_atask_btask_cnotify_userDjangoView启动多个task_a实例。他们每个人都做一些处理,然后启动几个task_b实例。每一个都做一些处理,然后启动几个task_c实例。可视化:目标我的目标是执行所有任务,并在整个层次结构完成后立即运行回调函数。此外,我希望能够将数据从最低任务传递到最高级别。View应该只是“启动”任务然后返回。每个子任务都依赖于父任务。父任务不直接依赖于子任务。父任务启动所有子任务后,就可以停止。一切都可以并行化,只要父任务在子任务启动之前运行即可

python - 模拟 celery 任务的单元测试 Flask View

所以,我有一个flaskView,它将celery任务添加到队列中,并向用户返回200。fromflask.viewsimportMethodViewfromapp.tasksimportlaunch_taskclassExampleView(MethodView):defpost(self):#Doessomeverificationoftheincomingrequest,ifallgood:launch_task(task,arguments)return'Accepted',200问题在于测试以下内容,我不想拥有celery实例等。我只想知道在所有验证都正常之后,它会向用户返回

python - 实现 log Gabor 滤波器组

我正在阅读这篇论文"Self-Invertible2DLog-GaborWavelets"它这样定义2Dloggabor过滤器:论文还指出,滤波器仅覆盖频率空间的一侧,并在此图像中显示在我尝试实现过滤器时,我得到的结果与论文中所说的不符。让我从我的实现开始,然后我将说明问题。实现:我创建了一个包含滤波器的二维数组并转换了每个索引,以便频域的原点位于数组的中心,正x轴向右,正y轴向上。number_scales=5#scaleresolutionnumber_orientations=9#orientationresolutionN=constantDim#imagedimensions

python - 使用 virtualenv 的 Celery 的第一步

我刚刚开始使用Celery。我创建了一个基于http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html中描述的步骤的小示例当我尝试使用手动启动工作人员时celery-Amy_exampleworker--loglevel=info我运行时出错,因为无法找到我的virtualenv中的模块。virtualenv已激活并安装了模块,因此我假设celery正在使用我的全局python解释器。我检查了celeryworker--help但没有找到指定某个解释器或virtualenv的参