Compare commits
No commits in common. "e4915c126d9a61d8824a83d6bcd8cac82b51f079" and "db1c1a7140d3bf9f3cb0f0a74a7f8bae6ff45cc4" have entirely different histories.
e4915c126d
...
db1c1a7140
@ -9,8 +9,6 @@ services:
|
||||
environment:
|
||||
MONGO_HOST: "mongo.develop.sprinthub.ru"
|
||||
MONGO_PASSWORD: $MONGO_PASSWORD_DEV
|
||||
REDIS_HOST: "redis.develop.sprinthub.ru"
|
||||
REDIS_PASSWORD: $REDIS_PASSWORD_DEV
|
||||
deploy:
|
||||
mode: replicated
|
||||
restart_policy:
|
||||
|
@ -9,8 +9,6 @@ services:
|
||||
environment:
|
||||
MONGO_HOST: "mongo.sprinthub.ru"
|
||||
MONGO_PASSWORD: $MONGO_PASSWORD_PROD
|
||||
REDIS_HOST: "redis.sprinthub.ru"
|
||||
REDIS_PASSWORD: $REDIS_PASSWORD_PROD
|
||||
deploy:
|
||||
mode: replicated
|
||||
restart_policy:
|
||||
|
@ -40,5 +40,4 @@ jobs:
|
||||
- name: deploy
|
||||
env:
|
||||
MONGO_PASSWORD_DEV: ${{ secrets.MONGO_PASSWORD_DEV }}
|
||||
REDIS_PASSWORD_DEV: ${{ secrets.REDIS_PASSWORD_DEV }}
|
||||
run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-dev.yaml infra-development
|
||||
|
@ -40,5 +40,4 @@ jobs:
|
||||
- name: deploy
|
||||
env:
|
||||
MONGO_PASSWORD_PROD: ${{ secrets.MONGO_PASSWORD_PROD }}
|
||||
REDIS_PASSWORD_PROD: ${{ secrets.REDIS_PASSWORD_PROD }}
|
||||
run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-prod.yaml infra
|
||||
|
@ -3,7 +3,6 @@ import pydantic
|
||||
import typing
|
||||
|
||||
from app.storage.mongo import tasks
|
||||
from app.storage.redis import lock
|
||||
|
||||
|
||||
router = fastapi.APIRouter()
|
||||
@ -17,8 +16,7 @@ class Response(pydantic.BaseModel):
|
||||
|
||||
@router.get('/api/v1/take', responses={404: {'description': 'Not found'}})
|
||||
async def execute(queue: typing.Annotated[str, fastapi.Header()]) -> Response:
|
||||
async with lock.acquire(queue):
|
||||
task = await tasks.take_task(queue)
|
||||
task = await tasks.take_task(queue)
|
||||
if not task:
|
||||
raise fastapi.HTTPException(404)
|
||||
return Response(id=str(task._id), attempt=task.attempts, payload=task.payload)
|
||||
|
@ -1,15 +0,0 @@
|
||||
import os
|
||||
import redis.asyncio
|
||||
|
||||
|
||||
REDIS_HOST = os.getenv('REDIS_HOST', 'localhost')
|
||||
REDIS_PASSWORD = os.getenv('REDIS_PASSWORD')
|
||||
if REDIS_PASSWORD:
|
||||
URL = f'redis://:{REDIS_PASSWORD}@{REDIS_HOST}:6379'
|
||||
else:
|
||||
URL = f'redis://{REDIS_HOST}:6379'
|
||||
|
||||
|
||||
|
||||
pool = redis.asyncio.ConnectionPool.from_url(URL)
|
||||
database = redis.Redis.from_pool(pool)
|
@ -1,8 +0,0 @@
|
||||
import contextlib
|
||||
|
||||
from app.storage import redis
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def acquire(lock_name: str):
|
||||
return redis.database.lock(lock_name)
|
Loading…
Reference in New Issue
Block a user