私信  •  关注

user

user 最近回复了
2 年前
回复了 user 创建的主题 » docker生产环境中的文件写入失败

在应得的时候给予赞扬。@IainShelvington在上述评论中优雅地提出了问题和解决方案。

问题原因:“您在docker容器中写入的任何文件都不会写入主机,除非您装入一个卷并写入该卷。”

问题解决方案:“将新卷添加到全局”卷:“在您的compose配置中。将该卷装载到“django”服务中,所有芹菜服务都从该服务继承,因此应该共享。从您装载的位置写入和读取文件(这应该与应用装载完全不同,如“/芹菜日志”或其他内容)”

为了演示这个解决方案在我的具体示例中是什么样子,我在我的产品中添加了以下内容。yml文件:

volumes:
  ...
  production_celery: {}

services:
  django: &django
    build:
      ...
    image: myapp_production_django
    depends_on:
      ...
    volumes:
      - production_celery:/app/celerydata:z
    env_file:
      ...
    command: /start

然后,从我的芹菜脚本派生的所有数据文件都被发送到名为“celerydata”的新卷/目录并从中提取

正如评论中提到的,我的应用程序以前依赖于APScheduler,我已经习惯于快速将数据文件写入主机,并能够轻松地浏览它们。为了再次在主机上查看这些文件,并作为安全预防措施(数据冗余),我开始使用以下命令序列将文件从celerydata目录复制到本地计算机,在那里我可以通过图形界面轻松查看它们:

docker ps # note container_id == ${CID} below
export CID=foobarbaz123
docker cp ${CID}:/app/celerydata ./celery_storage

在将来的某个时候,我可能会将其写入脚本,在启动容器时运行,并相应地更新答案。

2 年前
回复了 user 创建的主题 » 如何使用ajax jQuery重定向指定重定向url

我找到了解决办法。我就是这么做的。 我在控制器中使用的函数中生成一个变量$redirect。然后我提出了一些条件。

内部条件应为:

if (//condition) {
 $arred = array(
     "result" => "ok",
     "message" => "Success!!! ",
     'redirect' => base_url(//my url for the redirect)
 );

 $redirect = $arred;
}

所以在我的函数控制器中会是这样的:

function something() {
$redirect = "";


if (//condition) {
 //do something
 $arred = array(
     "result" => "ok",
     "message" => "Success!!! ",
     'redirect' => base_url(//my url for the redirect)
 );

 $redirect = $arred;
}


if (//condition2) {
 //do something
 $arred = array(
     "result" => "ok",
     "message" => "Success!!! ",
     'redirect' => base_url(//my url for the redirect)
 );

 $redirect = $arred;
}

//make the json
echo json_encode($redirect);
}

注意:此解决方案只会使jquery重定向到最新的重定向,以填充 $redirect 变量所以,如果你有多重重定向,唯一会使用的重定向是最新的一个。在这种情况下,我只需要最新的重定向。这就是我的解决方案。

6 年前
回复了 user 创建的主题 » 通过pip install在python3.4.4上安装mysql时出现问题

接受的答案已经过时了。有些建议已经包含在包中,我仍然收到关于缺少config win.h&mysqlclient.lib的错误。

  • 安装 mysql-connector-c-6.0.2-win32.msi

    Conenctor也有一个zip文件,但那不起作用,因为 mysqlclient.lib 是在 lib 目录,而安装程序需要 它在 lib/opt . 与其黑客攻击site.cfg或setup_windows.py,不如 MSI做这项工作。

  • pip安装mysql python

另外,由于我不再使用mysql,我的答案可能也过时了。