Celery: рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рд╕рд╛рде рд╕реЗрд▓реЗрд░реА рдмреАрдЯ рдбреЗрдореЛрдирд╛рдЗрдЬреЗрд╢рди (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ?)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рд╕рд┐рддре░ 2017  ┬╖  23рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: celery/celery

рдореИрдВ рд╕реЗрд▓реЗрд░реА рдмреАрдЯ рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдореИрдВ рд╕рд┐рд╕реНрдЯрдордб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдбреЙрдХреНрд╕ рдореЗрдВ рдЖрд╡рдзрд┐рдХ рдХрд╛рд░реНрдп рдкреГрд╖реНрда рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╣рддрд╛ рд╣реИ:

Daemonize рд╣рд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦ daemonizing ред

рдФрд░ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реЗрд▓реЗрд░реА рдФрд░ рд╕реЗрд▓реЗрд░реА рдмреАрдЯ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рд▓рд┐рдП рд╕реЗрд▓реЗрд░реА.рд╕рд░реНрд╡рд┐рд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗрд╡рд▓ рд╕реЗрд▓реЗрд░реА рдорд▓реНрдЯреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рддреЛ рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдмреАрдЯ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдореБрдЭреЗ рд╕реЗрд▓реЗрд░реА рдмреАрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд┐рд╕ рдмрдирд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдореБрдЭреЗ рд╕рд┐рдВрдЧрд▓ рд╕рд┐рд╕реНрдЯрдордб рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕реЗрд▓реЗрд░реА рдорд▓реНрдЯреА рдХреЛ --beat рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдкреНрд▓рд╛рдИ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://stackoverflow.com/a/23353596/5618728

рдЖрд╡рдзрд┐рдХ рдХрд╛рд░реНрдп рдкреГрд╖реНрда рдХрд╣рддрд╛ рд╣реИ:

рдЖрдк рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ -рдмреА рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдХреЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрджрд░ рдмреАрдЯ рднреА рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдпрджрд┐ рдЖрдк рдХрднреА рднреА рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдирд╣реАрдВ рдЪрд▓рд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдЙрддреНрдкрд╛рджрди рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ:

рдпрд╣ рд╕рдВрднрд╡рддрдГ celery multi рд╕рд╛рде --beat рдЪрд▓рд╛рдиреЗ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдордб рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдХреНрдпрд╛ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣рд╛рдВ рдореЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

````
[рдЗрдХрд╛рдИ]
рд╡рд┐рд╡рд░рдг=рдЕрдЬрд╡рд╛рдЗрди рдмреАрдЯ рд╕реЗрд╡рд╛
рдмрд╛рдж=рдиреЗрдЯрд╡рд░реНрдХ.рд▓рдХреНрд╖реНрдп

[рд╕реЗрд╡рд╛]
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = рдЕрдЬрд╡рд╛рдЗрди
рд╕рдореВрд╣=рдЕрдЬрд╡рд╛рдЗрди
EnvironmentFile=-/etc/conf.d/celerybeat.conf
рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА =/рдРрдкреНрд╕/рдЕрдЬрд╡рд╛рдЗрди/рдЬреЙрдмреНрд╕
ExecStart=/bin/sh -c '${CELERY_BIN} рдмреАрдЯ -A ${CELERY_APP} --pidfile=${CELERYBEAT_PID_FILE} \
--logfile=${CELERYBEAT_LOG_FILE} --loglevel=${CELERYBEAT_LOG_LEVEL} ${CELERYBEAT_OPTS}'
ExecStop=/bin/kill -s рдЯрд░реНрдо $MAINPID

[рдЗрдВрд╕реНрдЯреЙрд▓]
рд╡рд╛рдВрдЯреЗрдбрдмрд╛рдп=рдорд▓реНрдЯреА-рдпреВрдЬрд░.рдЯрд╛рд░рдЧреЗрдЯ
````

рд╕рднреА 23 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдордЬреЗрджрд╛рд░ рдХрд╣рд╛рдиреА, рд╕реЗрд▓реЗрд░реА рдорд▓реНрдЯреА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред --рдмреАрдЯ рдЖрд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ....

рдореИрдВ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдорд╛рдкреНрдд рд╣реБрдЖред

рдореИрдВрдиреЗ рдмреАрдЯ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реА рд╕рд┐рд╕реНрдЯрдордб рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ celerybeat.service рд╣реИ:

[Unit]
Description=Celery Beat Scheduler
After=network.target

[Service]
Type=simple
User=celery
Group=celery
WorkingDirectory=/home/dk/api
ExecStart=/bin/sh -c '/usr/local/bin/celery beat \
 --workdir=/home/dk/api \
 --pidfile=/home/dk/beat.pid \
 --logfile=/home/dk/beat.log'

[Install]
WantedBy=multi-user.target

@yoch рдЖрдкрдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕реЗ http://docs.celeryproject.org/en/latest/userguide/daemonizing.html#usage -systemd рдХреЗ рднрд╛рд╡реА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

@yoch systemd config рдЙрдкрдпреЛрдЧреА рд╣реИ, рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реГрддреНрдд рд╣реВрдВ

ExecStart=<VENV_FOLDER>/bin/celery beat -A config\
    -l info\
    --pidfile /run/celery/celerybeat.pid\
    --schedule=/run/celery/celerybeat-schedule

рдХреНрдпрд╛ <VENV_FOLDER>/bin/celery beat рдХреА рддреБрд▓рдирд╛ рдореЗрдВ /bin/sh -c '/usr/local/bin/celery beat ... ' рдЪрд▓рд╛рдиреЗ рд╕реЗ рдХреЛрдИ рдЕрдВрддрд░ рд╣реИ?

рдореИрдВ рдпрд╣ рднреА рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ WorkingDirectory рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдВ <myapp> рд╕реНрдерд┐рдд рд╣реИ, рдпрджрд┐ -A <myapp> ред рд╕рд╛рде рд╣реА pidfile рдФрд░ schedule рдлрд╛рдЗрд▓реЗрдВ User рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдЙрди рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ celery рдирд╛рдордХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╣реИред

рдпрд╣рд╛рдВ рдореЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

````
[рдЗрдХрд╛рдИ]
рд╡рд┐рд╡рд░рдг=рдЕрдЬрд╡рд╛рдЗрди рдмреАрдЯ рд╕реЗрд╡рд╛
рдмрд╛рдж=рдиреЗрдЯрд╡рд░реНрдХ.рд▓рдХреНрд╖реНрдп

[рд╕реЗрд╡рд╛]
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = рдЕрдЬрд╡рд╛рдЗрди
рд╕рдореВрд╣=рдЕрдЬрд╡рд╛рдЗрди
EnvironmentFile=-/etc/conf.d/celerybeat.conf
рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА =/рдРрдкреНрд╕/рдЕрдЬрд╡рд╛рдЗрди/рдЬреЙрдмреНрд╕
ExecStart=/bin/sh -c '${CELERY_BIN} рдмреАрдЯ -A ${CELERY_APP} --pidfile=${CELERYBEAT_PID_FILE} \
--logfile=${CELERYBEAT_LOG_FILE} --loglevel=${CELERYBEAT_LOG_LEVEL} ${CELERYBEAT_OPTS}'
ExecStop=/bin/kill -s рдЯрд░реНрдо $MAINPID

[рдЗрдВрд╕реНрдЯреЙрд▓]
рд╡рд╛рдВрдЯреЗрдбрдмрд╛рдп=рдорд▓реНрдЯреА-рдпреВрдЬрд░.рдЯрд╛рд░рдЧреЗрдЯ
````

@ android80k рдХреНрдпрд╛ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреА рд╣реИ? рдХреНрдпрд╛ рд╕реЗрд▓реЗрд░реА рдбреЙрдХреНрд╕ рдпрд╛ рд╕реЗрд▓реЗрд░реА рдореЗрдВ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреА рдЬрд░реВрд░рдд рд╣реИ?

@auvipy рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рдпрд╣рд╛рдБ рд╕реЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдБ: http://celery.readthedocs.io/en/latest/userguide/daemonizing.html

рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрд▓реЗрд░реАрдмреАрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╕рдЪрд┐рддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдХреЙрд▓ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝рдирд╛ рдлрд╛рдпрджреЗрдордВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рд▓рдЧрднрдЧ рдХреБрдЫ рдорд╣реАрдиреЗ рдмрд░реНрдмрд╛рдж рдХрд┐рдП рдФрд░ рдЙрд╕ рдмрд╣реБ рдмрдХрд╡рд╛рд╕ рдХреЛ рддрдм рддрдХ рдЦреЗрд▓рд╛ рдЬрдм рддрдХ рдореБрдЭреЗ рдпрд╣ рдзрд╛рдЧрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЕрдм рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рд▓реЗрдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрдШрд░реНрд╖ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрдк рдбреЙрдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ?

@trianglesis рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдХрд░ рдЦреЗрдж рд╣реИред рдпреЛрдЧрджрд╛рди рдХрд╛ рд╣рдореЗрд╢рд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдЖрдк рд╕реБрдЭрд╛рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреАрдЖрд░ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред

@georgepsarakis , рдХреНрдпрд╛ рдЖрдк рдкреАрдЖрд░ рдкрд░ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВ? рдореИрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореБрдЦреНрдп рд╕рджрд╕реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд▓реЗрдЦрди рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд, рдЕрдзрд┐рдХ рдЕрдЬреАрдм рдФрд░ рдЕрдзрд┐рдХ рдмреЗрдХрд╛рд░ рд╣реЛрдЧрд╛ред

@ karol-bujacek рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рд╕рднреА рдпреЛрдЧрджрд╛рди рд╕реНрд╡рд╛рдЧрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ! рдЖрдкрдХреЗ рддрд░реНрдХ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рддреИрдирд╛рддреА рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдЙрддреНрддрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ, рд╡реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдФрд░ рд╕рдЯреАрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдореЗрдВ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реНрдпрд╛рдкрдХ рддрд░реАрдХреЗ рд╕реЗред

рдореБрдЭреЗ рдбреЗрдорди рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рд╣реИ:

billiard.pool.MaybeEncodingError: Error sending result: ''(1, <ExceptionInfo: P4Exception()>, None)''. Reason: ''PicklingError("Can\'t pickle <class \'P4.P4Exception\'>: it\'s not the same object as P4.P4Exception",)''.

рдореИрдВ рдЕрдм рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреАрдорди рд╡реЗрдирд╡ рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рдкреА 4 рд╡рд░реНрдЧ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ "рдкрд┐рддрд╛" рдХрд╛рд░реНрдп рдореЗрдВ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддрд╛ рд╣реВрдВ, рдмрд╛рдж рдореЗрдВ рдпрд╣ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдЙрджрд╛рд╣рд░рдг рдкреА 4 рдУрдмреАрдЬреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдмрд╛рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЙрдирдореЗрдВ рд╕реЗ рд╣рдЬрд╛рд░реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ "рдЕрдЪрд╛рд░" рдЗрд╕реЗ рдирд╣реАрдВ рдЪреБрди рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ venv P4 рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╕рд╣реА рдмрд╣реБ рдХреЗ рд╕рд╛рде venv рдореЗрдВ рдкреА 4 рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рдХрд┐ рд╕реЗрд▓реЗрд░реА рдЖрдкрд╕реЗ рдХреНрдпрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдФрд░ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ docs.

рдирдорд╕реНрддреЗ, рдореИрдВрдиреЗ рдЖрдЬ рд░рд╛рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рдПрдХ рдкреАрдЖрд░ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ; рдпреЛрдЧрджрд╛рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рддреЗ рд╕рдордп рдореЛрдЯреЗ рддреМрд░ рдкрд░ "рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП" рдХрд╣рддреА рд╣реИред рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рддрд░рд╣ рдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ, рд▓реЗрдХрд┐рди рд╕рднреА рдирд╣реАрдВ, рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рд╕реЗ рдЖрддреЗ рд╣реИрдВред рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рдЬрдорд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдпрд╛ рдпрджрд┐ рдЕрдиреБрд░рдХреНрд╖рдХ рдореМрдЬреВрджрд╛ рд╕рд╛рдорд╛рди рдХреЛ рдкрд╣рд▓реЗ рдареАрдХ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрд┐рдд: рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╛ рдПрдХ рд╕рд╛рде рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП рдХреБрдЫ рдпрд╛ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВред рдмрд╕ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд░рдЦрд░рдЦрд╛рд╡ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдКрдВрдЧрд╛ред

(рдПрдХ рдЕрдиреБрд░рдХреНрд╖рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХреБрдЫ рд╕рд╛рдорд╛рди рдХрд╛ рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ рд╣реИред) рдореИрдВ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдФрд░ рдПрдХ рдкреАрдЖрд░ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред

рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреАрдЖрд░ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ!

рдХреГрдкрдпрд╛ рдирд╡реАрдирддрдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдорд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдореИрдВрдиреЗ рд╕реЗрд▓реЗрд░реА рдмреАрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдбрдХреНрд╢рди рд░реЗрдбреА рд╕рд┐рд╕реНрдЯрдордб рд╕реЗрд▓реЗрд░реАрдмреАрдЯ.рд╕рд░реНрд╡рд┐рд╕ рдлрд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ 2 рджрд┐рди рдмрд░реНрдмрд╛рдж рдХрд┐рдП рд╣реИрдВред рдХрдИ рд▓реЗрдЦ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдирд┐рд╢рд╛рди рддрдХ рдирд╣реАрдВ рд╣реИрдВред рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ - рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХреНрдпрд╛ рдХрд░реЗрдВ (рдлрд┐рд░ рдХреНрдпреЛрдВ рдЛрдг рдХреЗ рдмрд░рд╛рдмрд░)
рдкрд░реНрдпрд╛рд╡рд░рдгрдлрд╛рдЗрд▓=-/etc/conf.d/celery

рдореБрдЭреЗ рдЙрддреНрддрд░ рдорд┐рд▓рд╛: рдкрд╛рд░рд┐рдд рддрд░реНрдХ рдПрдХ рдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдпрд╛ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ "-" рдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкрдврд╝рд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рд▓реЙрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕ рддрд░рд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛:

[рдЗрдХрд╛рдИ]
рд╡рд┐рд╡рд░рдг=рдЕрдЬрд╡рд╛рдЗрди рд╕реЗрд╡рд╛
рдмрд╛рдж=рдиреЗрдЯрд╡рд░реНрдХ.рд▓рдХреНрд╖реНрдп

[рд╕реЗрд╡рд╛]
рдЯрд╛рдЗрдк = рдлреЛрд░реНрдХрд┐рдВрдЧ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = рдЙрдмрдВрдЯреВ
рд╕рдореВрд╣=рдЙрдмрдВрдЯреВ
рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА =/рд╣реЛрдо/рдЙрдмрдВрдЯреВ/рдорд╛рдпрдкреНрд░реЛрдЬ_рдлреЛрд▓реНрдбрд░
ExecStart=/bin/sh -c '/home/ubuntu/venv/bin/celery -A my_projname рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ -l рдЬрд╛рдирдХрд╛рд░реА -B - рд╢реЗрдбреНрдпреВрд▓рд░ django_celery_beat.s рдЕрдиреБрд╕реВрдЪрдХ: рдбреЗрдЯрд╛рдмреЗрд╕ рд╢реЗрдбреНрдпреВрд▓рд░ рдФрд░'
ExecStop=/bin/kill -s рдЯрд░реНрдо $MAINPID

[рдЗрдВрд╕реНрдЯреЙрд▓]
рд╡рд╛рдВрдЯреЗрдбрдмрд╛рдп=рдорд▓реНрдЯреА-рдпреВрдЬрд░.рдЯрд╛рд░рдЧреЗрдЯ

рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП ExecStart рдХрдорд╛рдВрдб рдХреЗ рдЕрдВрдд рдореЗрдВ "&" рдЬреЛрдбрд╝рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ред
рдЗрд╕ рддрд░рд╣ рдореИрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕реЗрд▓реЗрд░реА рд╡рд░реНрдХрд░ рдФрд░ рд╕реЗрд▓реЗрд░реА рдмреАрдЯ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЕрднреА рднреА рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ multi рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ systemd рдЙрджрд╛рд╣рд░рдг multi рд╕рд╛рде рдЖрддреЗ рд╣реИрдВред systemd (рдирд┐рдпрдорд┐рдд рд╕реЗрд▓реЗрд░реА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛, рд╣рд░рд╛ рдирд╣реАрдВ) рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?

рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЬрдм рд╕реЗрд▓реЗрд░реА рдбреЗрдореЙрди рдХреЛ рдЯрд╛рдЗрдк = рдлреЛрд░реНрдХрд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ sysctl рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣реИрдВрдЧ рд╣реЛрдиреЗ рдХреЗ 30 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рд╣реИ "Celery.service рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд╡рд┐рдлрд▓ рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд╛рд░ рд╣реЛ рдЧрдпрд╛ рдерд╛"ред рд╕реЗрд▓реЗрд░реА.рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рдЯрд╛рдЗрдк = рд╕рд┐рдВрдкрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рдпрд╣ рддреНрд░реБрдЯрд┐ рд▓рд╛рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдореИрдВрдиреЗ рдЕрдЬрд╡рд╛рдЗрди рдХреА рдзрдбрд╝рдХрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реИред рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣рд░ рдЪреАрдЬ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддреНрд░реБрдЯрд┐ рд╣реИ, рдореИрдВ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯ рд╕рдХрддрд╛ рд╣реВрдВ?

 celerybeat.service - Celery Beat Service
   Loaded: loaded (/etc/systemd/system/celerybeat.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2020-06-07 20:19:46 UTC; 6s ago
  Process: 26536 ExecStart=/bin/sh -c ${CELERY_BIN} beat     -A ${CELERY_APP} --pidfile=${CELERYBEAT_PID_FILE}    --logfile=${CELERYBEAT_LOG
 Main PID: 26536 (code=exited, status=1/FAILURE)

Jun 07 20:19:46 freelancingaccounts sh[26536]:     return WatchedFileHandler(logfile)
Jun 07 20:19:46 freelancingaccounts sh[26536]:   File "/usr/lib/python3.6/logging/handlers.py", line 437, in __init__
Jun 07 20:19:46 freelancingaccounts sh[26536]:     logging.FileHandler.__init__(self, filename, mode, encoding, delay)
Jun 07 20:19:46 freelancingaccounts sh[26536]:   File "/usr/lib/python3.6/logging/__init__.py", line 1032, in __init__
Jun 07 20:19:46 freelancingaccounts sh[26536]:     StreamHandler.__init__(self, self._open())
Jun 07 20:19:46 freelancingaccounts sh[26536]:   File "/usr/lib/python3.6/logging/__init__.py", line 1061, in _open
Jun 07 20:19:46 freelancingaccounts sh[26536]:     return open(self.baseFilename, self.mode, encoding=self.encoding)
Jun 07 20:19:46 freelancingaccounts sh[26536]: IsADirectoryError: [Errno 21] Is a directory: '/home/vmisiko/myproject/djangoProject'
Jun 07 20:19:46 freelancingaccounts systemd[1]: celerybeat.service: Main process exited, code=exited, status=1/FAILURE
Jun 07 20:19:46 freelancingaccounts systemd[1]: celerybeat.service: Failed with result 'exit-code'.
~

рд╕реБрдЭрд╛рдП рдЧрдП рд╕реБрдзрд╛рд░реЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jaddison picture jaddison  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jmaroeder picture jmaroeder  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kgritesh picture kgritesh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jheld picture jheld  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fbm picture fbm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ