- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这似乎解决了一个非常相似的问题,但没有给我足够的洞察力:https://github.com/celery/billiard/issues/101听起来尝试非 SQLite 数据库可能是个好主意......
我的 django 应用程序有一个简单的 celery 设置。在我的 settings.py
文件中,我设置了一个要运行的任务,如下所示:
CELERYBEAT_SCHEDULE = {
'sync_database': {
'task': 'apps.data.tasks.celery_sync_database',
'schedule': timedelta(minutes=5)
}
}
我已按照此处的说明进行操作:http://celery.readthedocs.org/en/latest/django/first-steps-with-django.html
我可以打开两个新的终端窗口并运行 celery 进程,如下所示:
ONE - celerybeat 进程,这是计划任务所需的,并将任务放入队列中:
PROMPT> celery -A myproj beat
celery beat v3.1.9 (Cipater) is starting.
__ - ... __ - _
Configuration ->
. broker -> amqp://myproj@localhost:5672//
. loader -> celery.loaders.app.AppLoader
. scheduler -> djcelery.schedulers.DatabaseScheduler
. logfile -> [stderr]@%INFO
. maxinterval -> now (0s)
[2014-02-20 16:15:20,085: INFO/MainProcess] beat: Starting...
[2014-02-20 16:15:20,086: INFO/MainProcess] Writing entries...
[2014-02-20 16:15:20,143: INFO/MainProcess] DatabaseScheduler: Schedule changed.
[2014-02-20 16:15:20,143: INFO/MainProcess] Writing entries...
[2014-02-20 16:20:20,143: INFO/MainProcess] Scheduler: Sending due task sync_database (apps.data.tasks.celery_sync_database)
[2014-02-20 16:20:20,161: INFO/MainProcess] Writing entries...
两个 - celery 工作线程,它应该将任务从队列中取出并运行它:
PROMPT> celery -A myproj worker -l info
-------------- celery@Jons-MacBook.local v3.1.9 (Cipater)
---- **** -----
--- * *** * -- Darwin-13.0.0-x86_64-i386-64bit
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app: myproj:0x1105a1050
- ** ---------- .> transport: amqp://myproj@localhost:5672//
- ** ---------- .> results: djcelery.backends.database:DatabaseBackend
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ----
--- ***** ----- [queues]
-------------- .> celery exchange=celery(direct) key=celery
[tasks]
. apps.data.tasks.celery_sync_database
. myproj.celery.debug_task
[2014-02-20 16:15:29,402: INFO/MainProcess] Connected to amqp://myproj@127.0.0.1:5672//
[2014-02-20 16:15:29,419: INFO/MainProcess] mingle: searching for neighbors
[2014-02-20 16:15:30,440: INFO/MainProcess] mingle: all alone
[2014-02-20 16:15:30,474: WARNING/MainProcess] celery@Jons-MacBook.local ready.
但是,当任务发送时,工作人员大约有 50% 的时间运行任务,而另外 50% 的时间我会收到以下错误:
[2014-02-20 16:35:20,159: INFO/MainProcess] Received task: apps.data.tasks.celery_sync_database[960bcb6c-d6a5-4e32-8267-cfbe2b411b25]
[2014-02-20 16:36:54,561: ERROR/MainProcess] Process 'Worker-4' pid:19500 exited with exitcode -11
[2014-02-20 16:36:54,580: ERROR/MainProcess] Task apps.data.tasks.celery_sync_database[960bcb6c-d6a5-4e32-8267-cfbe2b411b25] raised unexpected: WorkerLostError('Worker exited prematurely: signal 11 (SIGSEGV).',)
Traceback (most recent call last):
File "/Users/jon/dev/vpe/VAN/lib/python2.7/site-packages/billiard/pool.py", line 1168, in mark_as_worker_lost
human_status(exitcode)),
WorkerLostError: Worker exited prematurely: signal 11 (SIGSEGV).
我正在运行 Mavericks 的 Macbook Pro 上进行开发。
celery 版本3.1.9兔子MQ 3.2.3Django 1.6
请注意,我使用的是 django-celery 3.1.9 并启用了 djcelery 应用程序。
最佳答案
当我从 SQLite 切换到 PostgreSQL 时,问题就消失了。
关于Django 1.6 + RabbitMQ 3.2.3 + Celery 3.1.9 - 为什么我的 celery 工作人员会死掉并出现 : WorkerLostError: Worker exited prematurely: signal 11 (SIGSEGV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21920323/
我正在尝试将 sed 脚本迁移到 Perl 单行脚本,因为 Perl 支持非贪婪正则表达式。我接受了 Non greedy (reluctant) regex matching in sed? 的建议
我正在使用动态多级哈希,从中读取数据但也写入数据。 对我来说一个常见的陷阱是访问不存在的键(错别字、数据库修订等)。我得到 undef s 传播到其他部分并导致问题。我要die每当我尝试读取一个不存在
我希望我的脚本 perl 在生成警告时死掉,包括由使用的包生成的警告。 例如,这应该死: use strict; use warnings; use Statistics::Descriptive;
我有一个内存密集型 celery 任务,我希望它在大部分时间都处于关闭状态的昂贵 AWS 服务器中运行。 celery 节拍将每天安排一次任务,但也可以通过网络应用程序(== django)手动安排。
我是一名优秀的程序员,十分优秀!