簡體   English   中英

盡管有 --schedulers 標志,但 django-celery-beat 的權限被拒絕錯誤

[英]Permission denied error with django-celery-beat despite --schedulers flag

我在 ZC5FD214CDD0D2B2BA54272E73B0 容器中運行 Django、Celery 和 RabbitMQ。

一切都配置得很好並且正在運行,但是當我嘗試安裝django-celery-beat時,我在初始化服務時遇到了問題。

具體來說,這個命令:

celery -A project beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler

導致此錯誤:

celery.platforms.LockFailed: [Errno 13] Permission denied: '/usr/src/app/celerybeat.pid'

在查看原因/解決方案時,當默認調度程序 ( celery.beat.PersistentScheduler ) 嘗試跟蹤本地擱置數據庫文件中的最后運行時間並且沒有寫入權限時,似乎會發生權限被拒絕錯誤。

但是,我正在使用django-celery-beat並應用 --scheduler 標志來使用--scheduler服務, django_celery_beat.schedulers服務應該將計划存儲在 Django 數據庫中,因此不需要寫訪問權限。

還有什么可能導致這個問題? /如何進一步調試?

celerybeat ( celery.bin.beat ) 創建一個 pid 文件,在其中存儲進程 ID

--pidfile

用於存儲進程 pid 的文件。 默認為 celerybeat.pid。

如果這個文件已經存在並且 pid 仍然存在,程序將不會啟動。

您可以在命令--pidfile=保留為空,但請注意,它不會知道是否有多個 celerybeat 進程處於活動狀態

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM