API Flower как отправить запрос
Пытаюсь через API Flower передать воркеру путь к папке /path/папка, Работает, только если в аргументах список с цифрами data = '{"args":[1,2]}' # если INT работает. Как сделать, чтобы в аргументах отправлялся путь к папке. /path/папка
log flower: Expecting value: line 1 column 10 (char 9)
таск:
import requests, json
def get_path_json():
return os.path.abspath(os.getcwd())
def on_raw_message(body):
print(body)
def exists(path):
return os.stat(path)
def uptasks(task):
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
}
#data = get_path_json() # не работает return 400
data = '{"args":[1,2]}' # если INT передать работает return 200
print(data)
response = requests.post(f'http://address-flower/api/task/send-task/{task}',
headers=headers, data=data.encode('utf-8'), auth=('', ''))
return response.status_code```
воркер:
```from celery import Celery
import re
import os
import subprocess
import requests
from urllib.parse import unquote
import json
from datetime import datetime
from celery.beat import logger
BROKER_URL = 'redis://localhost:6379/0'
BACKEND_URL = 'redis://localhost:6379/1'
app = Celery('tasks', broker=BROKER_URL, backend=BACKEND_URL)
def getdate():
"""Date time Now"""
return "%s" % datetime.now().strftime("%Y-%m-%d-%H")
@app.task()
def slice_name(path):
print(path)
with open(f'{path}/metadata.json') as f:
time = getdate()
templates = json.load(f)
files = templates.get('meeting_url')
str_files = ''.join(files)
re_files = re.split(r'/', str_files)[-1]
str_files_list = '_'.join(re_files)
result_files = re_files + f'_{time}_Record.mp4'
return {'record': unquote(result_files),
'name': re_files}```