草庐IT

celery-log

全部标签

java - 如何从 Java 等非 python 语言调用 celery 任务延迟函数?

我在3集群机器上设置了celery+rabbitmq。我还创建了一个任务,它根据文件中的数据生成一个正则表达式,并使用该信息来解析文本。fromceleryimportCelerycelery=Celery('tasks',broker='amqp://localhost//')importre@celery.taskdefadd(x,y):returnx+ydefget_regular_expression():withopen("text")asfp:data=fp.readlines()str_re="|".join([x.split()[2]forxindata])return

python - "OSError: dlopen(libSystem.dylib, 6): image not found"(OS X + macports + celery 3.1.7)

我刚刚通过pip(1.5)将celery更新到最新版本(3.1.7),但我遇到了一个致命异常,我在尝试导入库时无法理解。通过运行:fromceleryimportCelery在我得到的shell中:File"",line1,inFile"/Users/davidezanotti/CygoraPythonEnv/lib/python2.7/site-packages/celery/__init__.py",line130,infrom.fiveimportrecreate_moduleFile"/Users/davidezanotti/CygoraPythonEnv/lib/python

python - celery 周期性任务不执行

我正在学习celery,我创建了一个项目来测试我的配置。我根据最新的文档安装了celery==4.0.0和django-celery-beat==1.0.1。在drf_project(带有manage.py的主项目目录)/drf_project/celery.pyfrom__future__importabsolute_import,unicode_literalsfromceleryimportCeleryimportosos.environ.setdefault('DJANGO_SETTINGS_MODULE','drf_project.settings')app=Celery('

python - Django celery : how to set task to run at specific interval programmatically

我发现我可以将任务设置为在特定时间以特定间隔运行here,但这只是在任务声明期间完成的。如何将任务设置为动态定期运行? 最佳答案 时间表是derivedfromasetting,因此在运行时似乎是不可变的。您可能可以使用TaskETAs完成您正在寻找的东西.这保证您的任务不会在期望的时间之前运行,但不保证在指定的时间运行任务——如果工作人员在指定的ETA重载,任务可能会稍后运行.如果该限制不是问题,您可以编写一个首先自行运行的任务,如:@taskdefmytask():keep_running=#Boolean,shouldthet

python - 无法导入该任务时运行 Celery 任务

我有两台服务器:一台运行django应用程序,另一台同时运行rabbitmq队列和celeryworker。我在运行队列/worker的服务器上的tasks.py包含如下任务:@task(queue="reports")deftest_task():time.sleep(120)我的目标是从DjangoView执行此任务。由于任务代码与我想调用任务的djangoView位于不同的服务器上,因此我尝试使用以下代码将任务从django发送到工作机器。send_task("tasks.test_task",task_id=task_id,args=[],kwargs={},publisher

python - Django celery : Passing request Object to worker

我如何将django请求对象传递给celeryworker。当尝试传递请求对象时,它会抛出一个错误Can'tPickleInputObjects似乎celery序列化了传递给worker的所有参数。我尝试使用其他序列化方法,如JSON。CELERY_TASK_SERIALIZER="JSON"但它不起作用。是否可以配置celery使其不序列化数据。或者我可以在传递给工作人员之前将请求对象转换为字符串,然后再次转换回工作人员中的对象。提前致谢... 最佳答案 你不能pickleDjango的请求对象(更多细节见thisquestion

python - 如何使用同一个 worker 重试 celery ?

我刚刚开始在Django项目中使用celery,并且有点陷入这个特定问题:基本上,我需要将一个长时间运行的任务分配给不同的工作人员。该任务实际上分为几个步骤,每个步骤都需要相当长的时间才能完成。因此,如果某个步骤失败,我希望celery使用同一个worker重试此任务,以重用已完成步骤的结果。我知道celery使用路由将任务分发到某个服务器,但我找不到关于这个特定问题的任何信息。我使用RabbitMQ作为我的代理。 最佳答案 您可以让每个celeryd实例从以工作人员的主机名命名的队列中消费:celeryd-linfo-nworke

python - np.log() 和 np.diff() 的逆运算是什么?

我在程序中使用了语句dataTrain=np.log(mdataTrain).diff()。我想扭转声明的影响。如何在Python中完成? 最佳答案 反过来将涉及先累加和再取指数。由于pd.Series.diff丢失信息,即系列中的第一个值,您需要存储和重用此数据:np.random.seed(0)s=pd.Series(np.random.random(10))print(s.values)#[0.54881350.715189370.602763380.544883180.42365480.64589411#0.43758721

python - 该代码片段在 tensorflow 代码中表示 "tf.logging.set_verbosity(tf.logging.INFO)"是什么意思?

我在很多tensorflow项目中看到了很多对这行代码的使用。这条线在tensorflow中有什么作用? 最佳答案 日志记录级别documentationpage基本上告诉你:如果您将其设置为显示的级别(INFO),则TensorFlow会告诉您所有带有标签INFO(或更重要)的消息。假设您只对WARN或ERROR感兴趣,那么您可以类似地设置tf.logging.set_verbosity(tf.logging.WARN) 关于python-该代码片段在tensorflow代码中表示"t

python - 在 Django 中中止 Celery 中正在运行的任务

我希望能够中止从Celery队列(使用rabbitMQ)运行的任务。我调用任务使用task_id=AsyncBoot.apply_async(args=[name],name=name,connect_timeout=3)其中AsyncBoot是定义的任务。我可以获得任务ID(假设这是apply_async返回的长字符串)并将其存储在数据库中,但我不确定如何调用中止方法。我看到了如何使用Abortable任务类使方法可中止,但是如果我只有任务ID字符串,我该如何在任务上调用.abort()?谢谢。 最佳答案 apply_async返