Open kakuilan opened 5 years ago
不使用docker,Deploy后置任务:cnpm install && cnpm run build
2019-05-22 19:49:42,786 ERROR /var/www/walle-dockercompose/walle-web/walle/service/waller.py 111 waller.run task_id=40, user:vagrant host:127.0.0.1 command:cnpm install && cnpm run build, status=1, message: Traceback (most recent call last): File "/var/www/walle-dockercompose/walle-web/walle/service/waller.py", line 51, in run result = super(Waller, self).local(command, pty=pty, warn=True, watchers=[say_yes()], env=self.custom_global_env, *kwargs) File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/fabric2/connection.py", line 655, in local return super(Connection, self).run(args, kwargs) File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/invoke/context.py", line 94, in run return self._run(runner, command, kwargs) File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/invoke/context.py", line 101, in _run return runner.run(command, kwargs) File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/invoke/runners.py", line 271, in run return self._run_body(command, kwargs) File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/invoke/runners.py", line 365, in _run_body raise ThreadException(thread_exceptions) ThreadException: Saw 1 exceptions within threads (IOError):
Thread args: {'kwargs': {'buffer_': [u'\x1b[?25l\x1b[2K\x1b[1G\u280b ',
u'\x1b[2K\x1b[1G\u2819 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2839 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2838 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u283c [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2834 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2826 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2827 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2807 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u280f [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u280b [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2819 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2839 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2838 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u283c [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2834 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2826 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2827 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2807 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u280f [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u280b [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2819 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2839 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2838 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u283c [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2834 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2826 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2827 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u2807 [0/37] Installing autoprefixer@^7.1.2',
u'\x1b[2K\x1b[1G\u280f [1/37] Installing babel-preset-stage-2@^6.22.0',
u'\x1b[2K\x1b[1G\u280b [1/37] Installing babel-preset-stage-2@^6.22.0',
u'\x1b[2K\x1b[1G\u2819 [1/37] Installing babel-preset-stage-2@^6.22.0',
u'\x1b[2K\x1b[1G\u2839 [1/37] Installing babel-plugin-transform-es2015-duplicate-keys@^6.22.0',
u'\x1b[2K\x1b[1G\u2838 [1/37] Installing babylon@^6.18.0',
u'\x1b[2K\x1b[1G\u283c [1/37] Installing babylon@^6.18.0',
u'\x1b[2K\x1b[1G\u2834 [1/37] Installing babylon@^6.18.0',
u'\x1b[2K\x1b[1G\u2826 [1/37] Installing babylon@^6.18.0',
u'\x1b[2K\x1b[1G\u2827 [1/37] Installing babel-preset-stage-3@^6.24.1',
u'\x1b[2K\x1b[1G\u2807 [1/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u280f [2/37] Installing babel-template@^6.24.1',
u'\x1b[2K\x1b[1G\u280b [2/37] Installing babel-template@^6.24.1',
u'\x1b[2K\x1b[1G\u2819 [2/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2839 [2/37] Installing source-map-support@^0.4.15',
u'\x1b[2K\x1b[1G\u2838 [2/37] Installing source-map-support@^0.4.15',
u'\x1b[2K\x1b[1G\u283c [2/37] Installing source-map-support@^0.4.15',
u'\x1b[2K\x1b[1G\u2834 [2/37] Installing source-map-support@^0.4.15',
u'\x1b[2K\x1b[1G\u2826 [2/37] Installing source-map-support@^0.4.15',
u'\x1b[2K\x1b[1G\u2827 [2/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2807 [2/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u280f [2/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u280b [2/37] Installing lodash@^4.17.4',
u'\x1b[2K\x1b[1G\u2819 [2/37] Installing babel-template@^6.24.1',
u'\x1b[2K\x1b[1G\u2839 [2/37] Installing to-fast-properties@^1.0.3',
u'\x1b[2K\x1b[1G\u2838 [2/37] Installing pkg-dir@^2.0.0',
u'\x1b[2K\x1b[1G\u283c [2/37] Installing trim-right@^1.0.1',
u'\x1b[2K\x1b[1G\u2834 [2/37] Installing trim-right@^1.0.1',
u'\x1b[2K\x1b[1G\u2826 [2/37] Installing electron-to-chromium@^1.3.30',
u'\x1b[2K\x1b[1G\u2827 [2/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2807 [2/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u280f [2/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u280b [2/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u2819 [2/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u2839 [2/37] Installing babel-types@^6.24.1\x1b[2K\x1b[1G\u2838 [2/37] Installing babel-types@^6.24.1\x1b[2K\x1b[1G\u283c [2/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u2834 [2/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u2826 [2/37] Installing lodash@^4.17.4',
u'\x1b[2K\x1b[1G\u2827 [2/37] Installing supports-color@^2.0.0',
u'\x1b[2K\x1b[1G\u2807 [2/37] Installing convert-source-map@^1.5.1',
u'\x1b[2K\x1b[1G\u280f [3/37] Installing copy-webpack-plugin@^4.0.1',
u'\x1b[2K\x1b[1G\u280b [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2819 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2839 [3/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u2838 [3/37] Installing babel-runtime@^6.26.0',
u'\x1b[2K\x1b[1G\u283c [3/37] Installing babel-runtime@^6.26.0',
u'\x1b[2K\x1b[1G\u2834 [3/37] Installing babel-runtime@^6.26.0',
u'\x1b[2K\x1b[1G\u2826 [3/37] Installing babel-runtime@^6.26.0',
u'\x1b[2K\x1b[1G\u2827 [3/37] Installing babel-helper-function-name@^6.24.1',
u'\x1b[2K\x1b[1G\u2807 [3/37] Installing babel-helper-function-name@^6.24.1',
u'\x1b[2K\x1b[1G\u280f [3/37] Installing babel-plugin-transform-es2015-object-super@^6.22.0',
u'\x1b[2K\x1b[1G\u280b [3/37] Installing color-convert@^1.9.0',
u'\x1b[2K\x1b[1G\u2819 [3/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u2839 [3/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u2838 [3/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u283c [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2834 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2826 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2827 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2807 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u280f [3/37] Installing lodash@^4.17.4',
u'\x1b[2K\x1b[1G\u280b [3/37] Installing loose-envify@^1.0.0',
u'\x1b[2K\x1b[1G\u2819 [3/37] Installing json5@^0.5.1',
u'\x1b[2K\x1b[1G\u2839 [3/37] Installing loader-runner@^2.3.0',
u'\x1b[2K\x1b[1G\u2838 [3/37] Installing loader-runner@^2.3.0',
u'\x1b[2K\x1b[1G\u283c [3/37] Installing loader-runner@^2.3.0',
u'\x1b[2K\x1b[1G\u2834 [3/37] Installing loader-runner@^2.3.0',
u'\x1b[2K\x1b[1G\u2826 [3/37] Installing loader-runner@^2.3.0',
u'\x1b[2K\x1b[1G\u2827 [3/37] Installing path-is-absolute@^1.0.1',
u'\x1b[2K\x1b[1G\u2807 [3/37] Installing safe-buffer@~5.1.1',
u'\x1b[2K\x1b[1G\u280f [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u280b [3/37] Installing babel-plugin-transform-es2015-shorthand-properties@^6.22.0',
u'\x1b[2K\x1b[1G\u2819 [3/37] Installing babel-plugin-transform-es2015-shorthand-properties@^6.22.0',
u'\x1b[2K\x1b[1G\u2839 [3/37] Installing babel-plugin-transform-es2015-shorthand-properties@^6.22.0\x1b[2K\x1b[1G\u2838 [3/37] Installing babel-plugin-transform-es2015-shorthand-properties@^6.22.0\x1b[2K\x1b[1G\u283c [3/37] Installing babel-plugin-transform-es2015-shorthand-properties@^6.22.0\x1b[2K\x1b[1G\u2834 [3/37] Installing babel-plugin-transform-es2015-shorthand-properties@^6.22.0\x1b[2K\x1b[1G\u2826 [3/37] Installing babel-plugin-transform-es2015-shorthand-properties@^6.22.0\x1b[2K\x1b[1G\u2827 [3/37] Installing babel-plugin-transform-es2015-shorthand-properties@^6.22.0',
u'\x1b[2K\x1b[1G\u2807 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u280f [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u280b [3/37] Installing babel-types@^6.26.0',
u'\x1b[2K\x1b[1G\u2819 [3/37] Installing babel-helper-bindify-decorators@^6.24.1',
u'\x1b[2K\x1b[1G\u2839 [3/37] Installing babel-helper-bindify-decorators@^6.24.1',
u'\x1b[2K\x1b[1G\u2838 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u283c [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2834 [3/37] Installing pify@^3.0.0',
u'\x1b[2K\x1b[1G\u2826 [3/37] Installing babel-plugin-transform-es2015-sticky-regex@^6.22.0',
u'\x1b[2K\x1b[1G\u2827 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2807 [3/37] Installing brace-expansion@^1.1.7',
u'\x1b[2K\x1b[1G\u280f [3/37] Installing acorn@^4.0.3',
u'\x1b[2K\x1b[1G\u280b [3/37] Installing babel-plugin-transform-es2015-template-literals@^6.22.0',
u'\x1b[2K\x1b[1G\u2819 [3/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u2839 [3/37] Installing memory-fs@~0.4.1',
u'\x1b[2K\x1b[1G\u2838 [3/37] Installing memory-fs@~0.4.1',
u'\x1b[2K\x1b[1G\u283c [3/37] Installing memory-fs@~0.4.1',
u'\x1b[2K\x1b[1G\u2834 [3/37] Installing memory-fs@~0.4.1',
u'\x1b[2K\x1b[1G\u2826 [3/37] Installing memory-fs@~0.4.1',
u'\x1b[2K\x1b[1G\u2827 [3/37] Installing memory-fs@~0.4.1',
u'\x1b[2K\x1b[1G\u2807 [3/37] Installing memory-fs@~0.4.1',
u'\x1b[2K\x1b[1G\u280f [3/37] Installing memory-fs@~0.4.1',
u'\x1b[2K\x1b[1G\u280b [3/37] Installing babel-plugin-transform-es2015-typeof-symbol@^6.23.0',
u'\x1b[2K\x1b[1G\u2819 [3/37] Installing babel-plugin-transform-es2015-typeof-symbol@^6.23.0',
u'\x1b[2K\x1b[1G\u2839 [3/37] Installing node-libs-browser@^2.0.0',
u'\x1b[2K\x1b[1G\u2838 [3/37] Installing node-libs-browser@^2.0.0',
u'\x1b[2K\x1b[1G\u283c [3/37] Installing ajv@^6.1.0',
u'\x1b[2K\x1b[1G\u2834 [3/37] Installing path-exists@^3.0.0',
u'\x1b[2K\x1b[1G\u2826 [3/37] Installing tapable@^0.2.7',
u'\x1b[2K\x1b[1G\u2827 [3/37] Installing tapable@^0.2.7',
u'\x1b[2K\x1b[1G\u2807 [3/37] Installing babel-types@^6.24.1',
u'\x1b[2K\x1b[1G\u280f [4/37] Installing css-loader@^0.28.0',
u'\x1b[2K\x1b[1G\u280b [4/37] Installing source-map@^0.5.3',
u'\x1b[2K\x1b[1G\u2819 [4/37] Installing slash@^1.0.0',
u'\x1b[2K\x1b[1G\u2839 [4/37] Installing babel-plugin-transform-es2015-unicode-regex@^6.22.0',
u'\x1b[2K\x1b[1G\u2838 [4/37] Installing babel-plugin-transform-es2015-unicode-regex@^6.22.0',
u'\x1b[2K\x1b[1G\u283c [4/37] Installing number-is-nan@^1.0.0',
u'\x1b[2K\x1b[1G\u2834 [4/37] Installing babel-plugin-transform-exponentiation-operator@^6.22.0',
u'\x1b[2K\x1b[1G\u2826 [4/37] Installing slash@^1.0.0',
u'\x1b[2K\x1b[1G\u2827 [4/37] Installing babel-plugin-transform-regenerator@^6.22.0',
u'\x1b[2K\x1b[1G\u2807 [4/37] Installing babel-runtime@^6.22.0',
u'\x1b[2K\x1b[1G\u280f [4/37] Installing browserslist@^3.2.6',
u'\x1b[2K\x1b[1G\u280b [4/37] Installing semver@^5.3.0',
u'\x1b[2K\x1b[1G\u2819 [4/37] Installing concat-map@0.0.1',
u'\x1b[2K\x1b[1G\u2839 [4/37] Installing concat-map@0.0.1',
u'\x1b[2K\x1b[1G\u2838 [4/37] Installing supports-color@^4.2.1',
u'\x1b[2K\x1b[1G\u283c [4/37] Installing supports-color@^4.2.1',
u'\x1b[2K\x1b[1G\u2834 [6/37] Installing p-limit@^1.1.0',
u'\x1b[2K\x1b[1G\u2826 [6/37] Installing file-loader@^1.1.4',
u'\x1b[2K\x1b[1G\u2827 [6/37] Installing rimraf@^2.6.2',
u'\x1b[2K\x1b[1G\u2807 [6/37] Installing ssri@^5.2.4',
u'\x1b[2K\x1b[1G\u280f [6/37] Installing lodash@^4.17.4',
u'\x1b[2K\x1b[1G\u280b [6/37] Installing source-map@^0.5.7',
u'\x1b[2K\x1b[1G\u2819 [6/37] Installing unique-filename@^1.1.0',
u'\x1b[2K\x1b[1G\u2839 [6/37] Installing tapable@^0.2.7',
u'\x1b[2K\x1b[1G\u2838 [6/37] Installing tapable@^0.2.7',
u'\x1b[2K\x1b[1G\u283c [6/37] Installing supports-color@^5.4.0',
u'\x1b[2K\x1b[1G\u2834 [6/37] Installing postcss-value-parser@^3.3.0',
u'\x1b[2K\x1b[1G\u2826 [6/37] Installing postcss-value-parser@^3.3.0',
u'\x1b[2K\x1b[1G\u2827 [6/37] Installing postcss-value-parser@^3.3.0',
u'\x1b[2K\x1b[1G\u2807 [6/37] Installing postcss-value-parser@^3.3.0',
u'\x1b[2K\x1b[1G\u280f [6/37] Installing postcss-value-parser@^3.3.0',
u'\x1b[2K\x1b[1G\u280b [6/37] Installing postcss-value-parser@^3.3.0',
u'\x1b[2K\x1b[1G\u2819 [6/37] Installing postcss-value-parser@^3.3.0'],
'hide': False,
'output': <open file '
Traceback (most recent call last):
File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/invoke/util.py", line 233, in run super(ExceptionHandlingThread, self).run()
File "/usr/lib64/python2.7/threading.py", line 765, in run self.target(*self.args, **self.__kwargs)
File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/invoke/runners.py", line 564, in handlestdout buffer, hide, output, reader=self.read_proc_stdout
File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/invoke/runners.py", line 537, in _handle_output self.write_our_output(stream=output, string=data)
File "/var/www/walle-dockercompose/walle-web/venv/lib/python2.7/site-packages/invoke/runners.py", line 526, in write_our_output stream.flush()
IOError: [Errno 5] Input/output error
问题描述 我执行node打包前端项目,结果应该是超时回滚了 Deploy后置任务:npm install && npm run build -- prod 这边前端打包比较耗时,可能几十分钟,walle能自定义调整session的超时设置吗?
问题描述 使用docker:alenx/walle-python:2.1 walle | Traceback (most recent call last): walle | File "src/gevent/greenlet.py", line 716, in gevent._greenlet.Greenlet.run walle | File "/usr/local/lib/python2.7/site-packages/socketio/server.py", line 601, in _handle_event_internal walle | r = server._trigger_event(data[0], namespace, sid, data[1:]) walle | File "/usr/local/lib/python2.7/site-packages/socketio/server.py", line 635, in _trigger_event walle | event, args) walle | File "/usr/local/lib/python2.7/site-packages/flask_socketio/namespace.py", line 26, in trigger_event walle | args) walle | File "/usr/local/lib/python2.7/site-packages/flask_socketio/init.py", line 634, in _handle_event walle | ret = handler(args) walle | File "/opt/walle_home/walle/service/websocket.py", line 55, in on_deploy walle | wi.walle_deploy() walle | File "/opt/walle_home/walle/service/deployer.py", line 583, in walle_deploy walle | self.end(False) walle | File "/opt/walle_home/walle/service/deployer.py", line 499, in end walle | TaskModel().get_by_id(self.task_id).update({ walle | File "/opt/walle_home/walle/model/database.py", line 296, in get_by_id walle | return cls.query.get(int(record_id)) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 924, in get walle | ident, loading.load_on_pk_identity) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 1007, in _get_impl walle | return db_load_fn(self, primary_key_identity) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/loading.py", line 250, in load_on_pk_identity walle | return q.one() walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2954, in one walle | ret = self.one_or_none() walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2924, in one_or_none walle | ret = list(self) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2995, in iter walle | return self._execute_and_instances(context) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 3016, in _execute_and_instances walle | close_with_result=True) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 3025, in _get_bind_args walle | kw walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 3007, in _connection_from_session walle | conn = self.session.connection(kw) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 1046, in connection walle | execution_options=execution_options) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 1051, in _connection_for_bind walle | engine, execution_options) walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 388, in _connection_for_bind walle | self._assert_active() walle | File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 276, in _assert_active walle | % self._rollback_exception walle | InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.InternalError) (1366, u"Incorrect string value: '\xF0\x9F\x98\xB8 ...' for column 'error' at row 1") [SQL: u'INSERT INTO records (stage, sequence, user_id, task_id, status, command, host, user, success, error, created_at, updated_at) VALUES (%(stage)s, %(sequence)s, %(user_id)s, %(task_id)s, %(status)s, %(command)s, %(host)s, %(user)s, %(success)s, %(error)s, %(created_at)s, %(updated_at)s)'] [parameters: {'status': 1, 'user_id': 2, 'success': '', 'task_id': u'1', 'sequence': 3, 'created_at': datetime.datetime(2019, 5, 21, 19, 33, 7, 781849), 'updated_at': datetime.datetime(2019, 5, 21, 19, 33, 7, 781889), 'host': '127.0.0.1', 'command': u'npm install && npm run build -- prod', 'user': 'root', 'error': u'\x1b[?25l[\x1b[90m..................\x1b[0m] | rollbackFailedOptional: \x1b[34;40mverb\x1b[0m \x1b[35mnpm-session\x1b[0m 46ea54f804959e4\x1b[0m\x1b[ ... (481764 characters truncated) ... d in:\r\n\x1b[0m\x1b[37;40mnpm\x1b[0m \x1b[0m\x1b[31;40mERR!\x1b[0m\x1b[35m\x1b[0m /root/.npm/_logs/2019-05-21T11_33_07_680Z-debug.log\r\n\x1b[0m', 'stage': 'post_deploy'}] (Background on this error at: http://sqlalche.me/e/2j85) walle | 2019-05-21T11:33:07Z <Thread "Greenlet-0" at 0x7f6f9e1a2470: <bound method Server._handle_event_internal of <socketio.server.Server object at 0x7f6f9f415d10>>(<socketio.server.Server object at 0x7f6f9f415d10>, '48bb213b916042b384f83d34c6a663a8', [u'deploy', {u'task': u'1'}], u'/walle', None)> failed with InvalidRequestError
运行环境