在django应用程序中,我正在运行异步任务,并希望向用户显示进度,错误等.如果存在错误,则应将用户重定向到需要其他输入或某些操作来解决问题的页面.从芹菜工作到前端沟通的最佳方式是什么?
这是伪代码的基本结构:
# views.py
from tasks import run_task
def view_task():
run_task.delay()
return render(request, 'template.html')
# tasks.py
from compute_module import compute_fct
@shared_task
def run_task():
result = compute_fct()
# how to catch status update messages from compute_module while compute_fct is running??
if result == 'error':
handle_error()
else:
handle_succes()
# compute_module
import pandas as pd
def compute_fct():
# send message: status = loading file
df = pd.read_csv('test.csv')
# send message: status = computing
val = df['col'].mean()
if val is None:
return {'status':'error'}
else: …
Run Code Online (Sandbox Code Playgroud) Pyspark n00b ...如何用自身的子串替换列?我正在尝试从字符串的开头和结尾删除选定数量的字符.
from pyspark.sql.functions import substring
import pandas as pd
pdf = pd.DataFrame({'COLUMN_NAME':['_string_','_another string_']})
# this is what i'm looking for...
pdf['COLUMN_NAME_fix']=pdf['COLUMN_NAME'].str[1:-1]
df = sqlContext.createDataFrame(pdf)
# following not working... COLUMN_NAME_fix is blank
df.withColumn('COLUMN_NAME_fix', substring('COLUMN_NAME', 1, -1)).show()
Run Code Online (Sandbox Code Playgroud)
这是非常接近但与其他列的最后一个字符略有不同的Spark Dataframe列.然后在PySpark SQL中有这个 LEFT和RIGHT函数