嗨,我制作了一个应用程序,我可以在其中提取数据并在我的网站上实时显示。
在本地,当我运行以下命令时它工作得很好:
celery -A proj_name beat -l INFO
celery -A proj_name worker -l INFO -p gevent
我使用 gevent 是因为我使用的是 Windows。在 Ubuntu 服务器上,我认为我不需要那个。
所以现在在服务器上,我已经按照下面的文章来信:
https://realpython.com/asynchronous-tasks-with-django-and-celery/#running-remotely
当我到达最后一部分时:
sudo supervisorctl start pichacelery
它给了我以下错误:
bscscanapicelery: ERROR (no such file)
这些是我的文件:
bscscanapi_celery.conf
; ==================================
; celery worker supervisor example
; ==================================
; the name of your supervisord program
[program:bscscanapicelery]
; Set full path to celery program if using virtualenv
command=/home/djangoadmin/.virtualenvs/bscscanapi/bin/celery worker -A bscscanapi --loglevel=INFO
; The directory to your Django project
directory=/home/djangoadmin/stalker-nichan/bscscanapi
; If supervisord is run as the root user, switch users to this UNIX user account
; before doing any processing.
user=djangoadmin
; Supervisor will start as many instances of this program as named by numprocs
numprocs=1
; Put process stdout output in this file
stdout_logfile=/var/log/celery/bscscanapi_worker.log
; Put process stderr output in this file
stderr_logfile=/var/log/celery/bscscanapi_worker.log
; If true, this program will start automatically when supervisord is started
autostart=true
; May be one of false, unexpected, or true. If false, the process will never
; be autorestarted. If unexpected, the process will be restart when the program
; exits with an exit code that is not one of the exit codes associated with this
; process’ configuration (see exitcodes). If true, the process will be
; unconditionally restarted when it exits, without regard to its exit code.
autorestart=true
; The total number of seconds which the program needs to stay running after
; a startup to consider the start successful.
startsecs=10
; Need to wait for currently executing tasks to finish at shutdown.
; Increase this if you have very long running tasks.
stopwaitsecs = 600
; When resorting to send SIGKILL to the program to terminate it
; send SIGKILL to its whole process group instead,
; taking care of its children as well.
killasgroup=true
; if your broker is supervised, set its priority higher
; so it starts first
priority=998
bscscanapi_celerybeat.conf
; ================================
; celery beat supervisor example
; ================================
; the name of your supervisord program
[program:bscscanapicelerybeat]
; Set full path to celery program if using virtualenv
command=/home/djangoadmin/.virtualenvs/bscscanapi/bin/celery beat -A bscscanapi --loglevel=INFO
; The directory to your Django project
directory=/home/djangoadmin/stalker-nichan/bscscanapi
; If supervisord is run as the root user, switch users to this UNIX user account
; before doing any processing.
user=djangoadmin
; Supervisor will start as many instances of this program as named by numprocs
numprocs=1
; Put process stdout output in this file
stdout_logfile=/var/log/celery/bscscanapi_beat.log
; Put process stderr output in this file
stderr_logfile=/var/log/celery/bscscanapi_beat.log
; If true, this program will start automatically when supervisord is started
autostart=true
; May be one of false, unexpected, or true. If false, the process will never
; be autorestarted. If unexpected, the process will be restart when the program
; exits with an exit code that is not one of the exit codes associated with this
; process’ configuration (see exitcodes). If true, the process will be
; unconditionally restarted when it exits, without regard to its exit code.
autorestart=true
; The total number of seconds which the program needs to stay running after
; a startup to consider the start successful.
startsecs=10
; if your broker is supervised, set its priority higher
; so it starts first
priority=999