Я пытаюсь запустить фоновый процесс для извлечения пользовательской информации из внешнего API и сохранения в Cassandra.
Мои просмотры views.py выглядят так
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
import django_rq
from django_rq import job
from .models import Users
@csrf_exempt
def post_user(request):
if request.method == "POST":
request_json = json.loads(request.body)
user_id = request_json['user_id']
redis_conn = django_rq.get_connection('default')
queue = django_rq.get_queue('default',autocommit=True)
queue.enqueue(bg, user_id=user_id)
return HttpResponse(status=202)
@job
def bg(user_id):
#External api call
Users.create(user_id=user_id, user_name="John")
My models.py
import uuid
from cassandra.cqlengine import columns
from cassandra.cqlengine.models import Model
class Users(Model):
user_id = columns.UUID(primary_key=True, default=uuid.uuid4)
user_name = columns.Text()
class Meta:
__table_name__ = 'users'
В терминале печатается запрос, подобный этому
[Connection: DEFAULT_CONNECTION] Query: INSERT INTO general.users ("user_id", "user_name") VALUES (%(0)s, %(1)s), Params: {'0': UUID('d0c54a9b-8542-4e72-969d-527e55769784'), '1': 'John'}
Sending options message heartbeat on idle connection (139936469444984) 127.0.0.1:9042
Но после этого я проверяю базу данных cassandra с помощью cql sh, не могу увидеть вставленную запись .
Есть предложения, пожалуйста?