dev@locazia: add indexator, uploader
This commit is contained in:
parent
7eb012bdcc
commit
308099f8de
|
|
@ -1,6 +1,8 @@
|
|||
import sys
|
||||
import traceback
|
||||
from asyncio import sleep
|
||||
from datetime import datetime
|
||||
import asyncio, sys
|
||||
|
||||
from aiogram import Bot
|
||||
|
||||
|
|
@ -58,13 +60,38 @@ async def execute_queue(app):
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.ctx.memory = Memory()
|
||||
app.ctx.memory._telegram_bot = Bot(TELEGRAM_API_KEY)
|
||||
dp._s_memory = app.ctx.memory
|
||||
app.ctx.memory._app = app
|
||||
startup_target = '__main__'
|
||||
try:
|
||||
startup_target = sys.argv[3]
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
app.add_task(execute_queue(app))
|
||||
app.add_task(queue_daemon(app))
|
||||
app.add_task(dp.start_polling(app.ctx.memory._telegram_bot))
|
||||
if startup_target == '__main__':
|
||||
app.ctx.memory = Memory()
|
||||
app.ctx.memory._telegram_bot = Bot(TELEGRAM_API_KEY)
|
||||
dp._s_memory = app.ctx.memory
|
||||
app.ctx.memory._app = app
|
||||
|
||||
app.run(host='0.0.0.0', port=SANIC_PORT)
|
||||
app.add_task(execute_queue(app))
|
||||
app.add_task(queue_daemon(app))
|
||||
app.add_task(dp.start_polling(app.ctx.memory._telegram_bot))
|
||||
|
||||
app.run(host='0.0.0.0', port=SANIC_PORT)
|
||||
else:
|
||||
loop = asyncio.get_event_loop()
|
||||
startup_fn = None
|
||||
if startup_target == 'indexator':
|
||||
from app.core.background.indexator_service import main as target_fn
|
||||
elif startup_target == 'uploader':
|
||||
from app.core.background.uploader_service import main as target_fn
|
||||
|
||||
startup_fn = startup_fn or target_fn
|
||||
assert startup_fn
|
||||
|
||||
try:
|
||||
loop.run_until_complete(startup_fn())
|
||||
except BaseException as e:
|
||||
make_log(startup_target[0].upper() + startup_target[1:], f"Error: {e}" + '\n' + str(traceback.format_exc()), level='error')
|
||||
sys.exit(1)
|
||||
finally:
|
||||
loop.close()
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
from app.core.models._blockchain.ton.connect import TonConnect, unpack_wallet_info
|
||||
from sanic import response
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
|
||||
def valid_royalty_params(royalty_params):
|
||||
|
|
@ -15,6 +16,7 @@ def valid_royalty_params(royalty_params):
|
|||
|
||||
async def s_api_v1_blockchain_send_new_content_message(request):
|
||||
assert request.json, "No data provided"
|
||||
assert request.ctx.user, "No authorized user provided"
|
||||
|
||||
for field_key, field_value in {
|
||||
'title': lambda x: isinstance(x, str),
|
||||
|
|
@ -30,7 +32,20 @@ async def s_api_v1_blockchain_send_new_content_message(request):
|
|||
assert field_key in request.json, f"No {field_key} provided"
|
||||
assert field_value(request.json[field_key]), f"Invalid {field_key} provided"
|
||||
|
||||
assert request.json.get("title"), "No title provided"
|
||||
ton_connect, ton_connection = TonConnect.by_user(request.ctx.db_session, request.ctx.user, callback_fn=())
|
||||
await ton_connect.restore_connection()
|
||||
assert ton_connect.connected, "No connected wallet"
|
||||
|
||||
# await ton_connect._sdk_client.send_transaction({
|
||||
# 'valid_until': int(datetime.now().timestamp()),
|
||||
# 'messages': [
|
||||
# {
|
||||
# 'address':
|
||||
# }
|
||||
# ]
|
||||
# })
|
||||
|
||||
|
||||
return response.json({"message": "Transaction requested"})
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
from app.core.logger import make_log
|
||||
import asyncio
|
||||
|
||||
|
||||
async def main():
|
||||
make_log("Indexator", "Service started", level="info")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(main())
|
||||
loop.close()
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
from app.core.logger import make_log
|
||||
import asyncio
|
||||
|
||||
|
||||
async def main():
|
||||
make_log("Uploader", "Service started", level="info")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(main())
|
||||
loop.close()
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -31,3 +31,35 @@ services:
|
|||
depends_on:
|
||||
maria_db:
|
||||
condition: service_healthy
|
||||
|
||||
indexator:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
command: python -m app indexator
|
||||
env_file:
|
||||
- .env
|
||||
links:
|
||||
- maria_db
|
||||
volumes:
|
||||
- ./logs:/app/logs
|
||||
- ./storedContent:/app/data
|
||||
depends_on:
|
||||
maria_db:
|
||||
condition: service_healthy
|
||||
|
||||
uploader:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
command: python -m app uploader
|
||||
env_file:
|
||||
- .env
|
||||
links:
|
||||
- maria_db
|
||||
volumes:
|
||||
- ./logs:/app/logs
|
||||
- ./storedContent:/app/data
|
||||
depends_on:
|
||||
maria_db:
|
||||
condition: service_healthy
|
||||
|
|
|
|||
Loading…
Reference in New Issue