首页 文章

GAE运行注释了cron任务?

提问于
浏览
0

该项目我目前是其在GAE上的应用程序的一部分 . 昨晚深夜,我将我们的应用程序部署到QA服务器(也在GAE上托管),其中cron.yaml具有已注释掉的cron作业 .

部署完成后,cron任务就会运行 . 这有什么解释吗?

下面是相关的cron.yaml和logs . 我们在任何给定时间只有一个qa后端实例 .

我们的堆栈是烧瓶/蟒蛇和角形前端 . 我的机器:macOS Sierra 10.12.1,GAE init v.4.0.1

cron.yaml:
enter image description here

日志:
enter image description here

gulpfile:
`

var $, gulp, minimist;

gulp      = require('gulp-help')(require('gulp'));
minimist  = require('minimist');
$         = require('gulp-load-plugins')();

gulp.task('deploy', 'Deploy project to Google App Engine.', function() {
  var k, options, options_str;
  options = minimist(process.argv);
  delete options['_'];
  options_str = '--skip_sdk_update_check';
  for (k in options) {
    if (options[k] === true) {
      options[k] = '';
    }
    options_str += k.length > 1 ? " --" + k + " " + options[k] : " -" + k + " " + options[k];
  }
  return gulp.src('run.py').pipe($.start([{
    match: /run.py$/,
    cmd: "appcfg.py update main " + options_str
  }]));
});

gulp.task('server', 'Start the local server. Available options:\n -o 
HOST  - the host to start the dev_appserver.py\n -p PORT  - the port 
to start the dev_appserver.py\n -a="..." - all following args are 
passed to dev_appserver.py\n', function() {
  var argv, k, known_options, options, options_str;
  argv = process.argv.slice(2);
  known_options = {
    "default": {
      p: '',
      o: '',
      a: ''
    }
  };
  options = minimist(argv, known_options);
  options_str = '-s';
  for (k in known_options["default"]) {
    if (options[k]) {
      if (k === 'a') {
        options_str += " --appserver-args \"" + options[k] + "\"";
      } else {
        options_str += " -" + k + " " + options[k];
      }
    }
  }
   return gulp.src('run.py').pipe($.start([
     {
      match: /run.py$/,
      cmd: "python run.py " + options_str
    }
  ]));
});

`

谢谢!

1 回答

  • 0

    在这里拿传单,因为我不知道你的gulp任务是什么样的,但我怀疑它发出了以下部署命令:

    appcfg.py update app.yaml
    

    它不更新索引或cron作业(即:不引用文件cron.yaml或index.yaml) .

    相反,您需要更新要使用的任务:

    appcfg.py update .
    

    这将做必要的 . 见here .

    注意:这些天最好使用gcloud:

    gcloud app deploy ...
    

相关问题