草庐IT

task-tracking

全部标签

python - 删除 celery 中的 Task/PeriodicTask

如何删除celery中的常规Task或PeriodicTask? 最佳答案 您撤销任务:参见documentation:Control.revoke(task_id,destination=None,terminate=False,signal='SIGTERM',**kwargs)Tellall(orspecific)workerstorevokeataskbyid.Ifataskisrevoked,theworkerswillignorethetaskandnotexecuteitafterall.Parameters:task

python - 使用 add_periodic_task 在 Celery (celerybeat) 中动态设置周期性任务

我正在使用Celery4.0.1和Django1.10并且我在安排任务时遇到了问题(运行任务正常)。这是celery配置:os.environ.setdefault('DJANGO_SETTINGS_MODULE','myapp.settings')app=Celery('myapp')app.autodiscover_tasks(lambda:settings.INSTALLED_APPS)app.conf.BROKER_URL='amqp://{}:{}@{}'.format(settings.AMQP_USER,settings.AMQP_PASSWORD,settings.AM

python - 你在哪里设置 celery 任务的 task_id?

我找不到任何用我自己的task_id设置task_id的例子类似的东西...deftestview1(request):foriinxrange(0,1000):result=add.delay(i,4,task_id=i)printresult.info#value=result.wait()returnHttpResponse("Done")@task()defadd(task_id,x,y):printadd.task_idprintstr(x+y)returnx+y 最佳答案 delay不支持options,它是apply_

python - 谷歌应用引擎 : task_retry_limit doesn't work?

我有一个PythonGAE应用。我希望我的任务停止运行,或者在失败时重试一次。现在,无论我的yaml文件告诉它们什么,它们都会永远运行!这是一个queue.yaml条目:-name:globalPurchaserate:10/sbucket_size:100retry_parameters:task_retry_limit:1如果globalPurchase任务失败并返回500错误代码,它将永远重试,直到成功并在日志中显示此消息:“队列“globalPurchase”上名为“task14”的任务失败,代码为500;将在30秒后重试”为什么实际上没有使用task_retry_limit?

python - 如何处理 celery 的 Task.map 中的错误

假设我有两个celery任务:@celery.taskdefrun_flakey_things(*args,**kwargs):returnrun_flakey_and_synchronous_thing.map(xrange(10)).apply_async()@celery.taskdefrun_flakey_and_synchronous_thing(a):ifa%5:returnaraiseRuntimeError(a)因此,当您运行run_flakey_things时,它会立即失败,因为序列中的第一项会引发异常。我想要的是像map一样按顺序为序列中的所有项目运行任务,但继续运

aar合并打包报错|library、module集成aar包报Execution failed for task ‘:app:mergeDebugNativeLibs

直奔主题:本文主要解决module中引用aar包依赖报错的问题,及aar包合并打成新aar包的问题网上有很多解决方案,基本上都很麻烦,或者需要改变项目结构,今天我提供一个最简单的实现方案。首先,为了复现问题及解决问题,新建了一个测试项目,主app引用名为mylibrary的module,module中为了实现某些功能需要依赖aar包及相关so库。目录结构如下:问题复现:我们一般会按照app层集成方式,添加flatDir指定aar包目录,dependencies中添加依赖引用,如: 这样引用看上去没有问题,编译的时候就会报*Whatwentwrong:Executionfailedfortask

python - 让Celery在没有task_always_eager的情况下使用Django的测试数据库

在使用Celery任务的Django应用程序中运行测试时,我无法完全测试需要从数据库获取数据的任务,因为它们没有连接到Django创建的测试数据库。设置task_always_eager在Celery中设置为True部分解决了这个问题,但作为documentationfortesting说,这并不能完全反射(reflect)代码将如何在真正的Celeryworker上运行并且不适合测试。如何在不设置task_always_eager=True的情况下运行Django测试时让Celery任务使用Django测试数据库? 最佳答案 简短

python - 将 gen.task 与 Tornado 一起使用以获得简单的功能

只是尝试使用Tornado的异步函数-我想从我的处理程序中调用一个方法,但它一直告诉我它“有一个意外的关键字参数‘回调’”。classMyHandler(tornado.web.RequestHandler):@asynchronous@gen.enginedefget(self):response=yieldgen.Task(self.dosomething,'argument')self.write(response)self.finish()defdosomething(self,myargument):pass 最佳答案 非

python - 为 Tornado 调整 celery.task.http.URL

Celery包含一个模块,该模块能够使用amqp或其他一些celery后端发出异步HTTP请求。我正在使用tornado-celery异步消息发布的生产者。据我了解tornado-celery为此使用鼠兔。问题是如何为Tornado调整celery.task.http.URL(使其成为非阻塞)。基本上有两个地方需要细化:HttpDispatch.make_request()必须使用tornado异步http客户端实现;URL.get_async(**kw)或URL.post_async(**kw)必须使用tornadoAPI以相应的非阻塞代码重新实现。例如:classNonBlocki

python - 操作系统 python 升级后,virtualenv python 失败,出现“ undefined symbol : _PyLong_AsInt¨ error on simple tasks

我有一个基于python-2.7.3的长期运行的virtualenv。在接受了推荐的平台操作系统(Ubuntu)更新后(在许多其他更改中)将python提升到2.7.6,virtualenv中的python已经开始在基本上所有重要任务上出错,堆栈结尾如下:ImportError:/home/myusername/ENVS/myvenv/lib/python2.7/lib-dynload/_io.so:undefinedsymbol:_PyLong_AsInt即使pipfreeze也会因这样的错误而失败——这使得它甚至无法在损坏的virtualenv中获得已安装软件包的准确list(可能