首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >任务不退出

任务不退出
EN

Stack Overflow用户
提问于 2015-07-08 16:43:38
回答 1查看 686关注 0票数 1

我有一个gulpfile.js,它有很多任务。

我注意到我的任务正在运行,但是在完成任务之后,它们不会退出/终止。我必须使用control + c退出。我读了一篇关于类似问题的文章,但是它使用的是“吞咽式摩卡”,而且插件中也有一个问题。

在我的例子中,我也知道是什么导致了这个问题。我需要一个js(edgecaset.js)文件,这个文件已经写入我的gulp文件中(其中一个任务在该文件中使用了一个函数)。它是一个简单的文件,只有一个函数可以与rest交互。如果我不需要那个文件,一切都很好。

我只是从edgecast.js文件导出一个函数,以便在gulp文件中使用。它调用了setTimeOut函数(这会是问题吗?)

有人能帮我找出问题吗?

代码语言:javascript
复制
var main = function () {
    console.log(config.edgecast.username);
    ftp.put(config.ftp.local_path, config.ftp.remote_path, function(hadError) {
        if (!hadError) {
            console.log('File transferred successfully');
            rest.put(config.edgecast.purge_url, purgeOptions).on('complete', function(data, response) {
                if (response.statusCode != 200)
                    console.log('Purge failed');
                else {
                    console.log('Purge request Issued');
                    purgeID = data.Id;
                    setTimeout(function() {
                        rest.get(config.edgecast.get_purge_url + purgeID, purgeOptions).on('complete', function(data) {
                            if (data.CompleteDate) {
                                console.log('Purge completed on ' + data.CompleteDate);
                                rest.put(config.edgecast.load_url, loadOptions).on('complete', function(data, response) {
                                    if (response.statusCode == 200)
                                        console.log('Asset Loaded');
                                    else {
                                        console.log('Load Failed');
                                        console.log(response.statusCode);
                                    }
                                });
                            }
                        });
                    }, 180000);
                }
            });
        } else console.log('File Transfer Failed. ' + hadError);
        ftp.raw.quit(function(err) {
            if (err) return console.error(err);
        });
    });
};

上面是我从edgecast.js文件导出的函数。这是文件中唯一的函数。剩下的只是变量。然后在gulpfile.js中

var edgecast =需要量(‘./edgecast.js’);

这一要求声明导致了所有的问题。

edgecast.js文件导入了以下库。

代码语言:javascript
复制
var rest = require('restler'),
    config = require('./config'),
    JSFtp = require('jsftp'); 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-06 15:12:07

发现问题了。结果显示,gulp任务不退出,因为FTP连接一直处于打开状态,等待关闭

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31298754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档