Вызов функции сервера Django с сервера PHP - PullRequest
0 голосов
/ 14 сентября 2018

Я только что был нанят в качестве младшего разработчика Python в компании (я единственный разработчик Python). Здесь они хотят передать тяжелые задачи (массовая рассылка, импорт в Excel, экспорт PDF) с PHP-сервера на сервер django ( celery ), чтобы уменьшить рабочую нагрузку. На моем компьютере мне удалось запустить их оба локально (отдельно).

Мой вопрос: как лучше всего передать данные или вызвать функцию на сервере django с сервера PHP

Например, рассмотрим код ниже: some_shit.php

    public function actionExportPdf()
    {
        $mPDF = Yii::app()->ePdf->mpdf();
        $model   = new Gulfuniversityapplication('search');
        $dbcriteria = Yii::app()->session['criteria'];
        $model->setDbCriteria($dbcriteria);

        $row  = Yii::app()->db->createCommand("select field_data from modules where table_name='".$model->tableName()."'")->queryRow();
        $filteredData = CJSON::decode($row['field_data']);
        //$filteredData = $data[$model->tableName()];
        $stylesheet = file_get_contents(getcwd().'/path/to/core/assets/css/social.css');
        $mPDF->WriteHTML($stylesheet, 1);
        $mPDF->WriteHTML($this->renderPartial('_exportPdf',array(
                        'model' => $model,
                        'data' => $filteredData,
                ), true));
        $mPDF->Output();
    }

Это их PHP, я понятия не имею, что в нем.

Вот мой код сельдерея Django tasks.py

@shared_task
def export_task(arg1,arg2):
    my_cursor = my_db.cursor()
    my_cursor.execute("SELECT arg1 FROM arg2")
    out =[]
    for i in my_cursor.fetchall():
        out.append(i)
    my_cursor.execute("DESCRIBE arg2")
    column = []
    for i in my_cursor.fetchall():
        column.append(i[0])
    df = pd.DataFrame(data=out,columns=column)
    writer = pd.ExcelWriter('output.xlsx')
    df.to_excel(writer,'Sheet1')
    writer.save()

Это мой первый вопрос, спасибо заранее.

Я думал о вызовах POST API из PHP

если это единственное решение, объясните это для yii framework

...