| Line 1: |
Line 1: |
| − | = Install = | + | =Install= |
| | pip install Celery | | pip install Celery |
| − | == Create Virtual Host and User == | + | ==Create Virtual Host and User== |
| | sudo rabbitmqctl add_user <username> <password> | | sudo rabbitmqctl add_user <username> <password> |
| | sudo rabbitmqctl add_vhost <vhostname> | | sudo rabbitmqctl add_vhost <vhostname> |
| | sudo rabbitmqctl set_permissions -p <vhostname> <username> ".*" ".*" ".*" | | sudo rabbitmqctl set_permissions -p <vhostname> <username> ".*" ".*" ".*" |
| | | | |
| − | == With RabbitMQ == | + | ==With RabbitMQ== |
| | sudo apt-get install rabbitmq-server | | sudo apt-get install rabbitmq-server |
| | # Create rabbitmq user | | # Create rabbitmq user |
| Line 23: |
Line 23: |
| | $ sudo rabbitmqctl stop | | $ sudo rabbitmqctl stop |
| | | | |
| − | = Workers = | + | =Workers= |
| − | == Launch == | + | ==Launch== |
| | celery -A {ProjectName} worker -l info --queues=queuename1,queuename2 | | celery -A {ProjectName} worker -l info --queues=queuename1,queuename2 |
| | | | |
| − | == Run task at specific time == | + | == SystemD == |
| − | <source lang="Python">import datetime
| + | |
| | + | === Service File === |
| | + | <syntaxhighlight lang="bash"> |
| | + | [Unit] |
| | + | Description=CIA Celery Scheduler |
| | + | After=network.target |
| | + | |
| | + | [Service] |
| | + | User=tenkaichi |
| | + | Group=tenkaichi |
| | + | EnvironmentFile=/etc/default/celerybeat |
| | + | WorkingDirectory=/home/tenkaichi/CIA |
| | + | ExecStart=/bin/sh -c '${CELERY_BIN} -A ${CELERY_APP} beat --loglevel=${CELERYBEAT_LOGLEVEL} --scheduler=${CELERYBEAT_SCHEDULER} --logfile=${CELERYBEAT_LOG_FILE}' |
| | + | Restart=always |
| | + | RestartSec=3 |
| | + | |
| | + | [Install] |
| | + | WantedBy=multi-user.target |
| | + | </syntaxhighlight> |
| | + | |
| | + | === /etc/default/celerybeat === |
| | + | <syntaxhighlight lang="bash"> |
| | + | CELERY_BIN="/home/tenkaichi/.virtualenvs/cia/bin/celery" |
| | + | CELERY_APP="CIA" |
| | + | CELERYBEAT_CHDIR="/home/tenkaichi/CIA" |
| | + | CELERYBEAT_SCHEDULER="django_celery_beat.schedulers:DatabaseScheduler" |
| | + | CELERYBEAT_OPTS="" |
| | + | CELERYBEAT_LOGLEVEL=debug |
| | + | CELERYBEAT_LOG_FILE="/home/tenkaichi/CIA/logs/celery_beat.log" |
| | + | DJANGO_SETTINGS_MODULE="CIA.settings" |
| | + | </syntaxhighlight> |
| | + | |
| | + | ==Run task at specific time== |
| | + | <source lang="Python">import datetime |
| | | | |
| | import celery | | import celery |