my django project, use celery and sent delay task, but callback delay task raise django.db.utils.InterfaceError: (0, '')
my code:
@celery_app.task
def delayTaskTest22222222222222222(index):
"""
"""
print(index)
import time
time.sleep(15)
@celery_app.task
def error_handler(request, exc, traceback):
# print('Task {0} raised exception: {1!r}\n{2!r}'.format(
# request.id, exc, traceback))
# print()
from cmdb.models import MyModel
aa = MyModel.objects.all().count()
print(aa)
@celery_app.task
def delayTaskEntry():
""""""
print('-' * 50)
delayTaskTest22222222222222222.apply_async(args=(11111,), time_limit=5, link_error=error_handler.s())
I exec delayTaskEntry method, and celery raise Error:
File "/home/my/.pyenv/versions/3.8.8/envs/abc/lib/python3.8/site-packages/pymysql/cursors.py", line 148, in execute
result = self._query(query)
File "/home/my/.pyenv/versions/3.8.8/envs/abc/lib/python3.8/site-packages/pymysql/cursors.py", line 310, in _query
conn.query(q)
File "/home/my/.pyenv/versions/3.8.8/envs/abc/lib/python3.8/site-packages/pymysql/connections.py", line 547, in query
self._execute_command(COMMAND.COM_QUERY, sql)
File "/home/my/.pyenv/versions/3.8.8/envs/abc/lib/python3.8/site-packages/pymysql/connections.py", line 793, in _execute_command
raise err.InterfaceError(0, "")
django.db.utils.InterfaceError: (0, '')
I want set delay task time_limit and get all Error, what should i modify my code.
Think you!!!!!