很长一段时间以来,我一直在AppEngine上使用任务队列来安排任务,就像我应该的那样.
但我一直想知道的是如何为此编写测试?到目前为止,我只是进行了测试,以确保在排队任务的API上不会发生错误,然后为执行任务的API编写更合适的测试.
然而,最近我开始感到有点不满意,我正在寻找一种方法来实际测试正确的任务已被添加到正确的队列.希望通过部署代码并希望获得最佳代码,可以做得更好.
我正在使用django-nonrel,如果这与答案有关.
回顾一下:如何编写单元测试以确认任务已排队?
我的很多node.js进程都因ECONNRESET错误而崩溃.这是我可以看到的输出:
node.js:50
throw e;
^
Error: ECONNRESET, Connection reset by peer
at Client._readImpl (net:320:14)
at IOWatcher.callback (net:470:24)
at node.js:607:9
Run Code Online (Sandbox Code Playgroud)
有谁知道如何处理这个?它不是一个非常有用的堆栈跟踪,所以我不知道它在哪里发生.我应该通过带有try/catch块的http来包装对远程源的任何和所有访问吗?或者,还有更好的方法?
一般来说,我不在乎这是否确实发生过,或者由于这个原因,某些任务没有完成.我所关心的是,这个过程应该耸耸肩,然后继续完成下一个任务.
我正在开发一个Firefox扩展程序,并希望跟踪它与谷歌分析的使用,但我不能让它工作.
我试过手动调用函数ga.js,但由于某种原因这不起作用.没有产生错误,但也没有收集任何数据.
我的最后一次尝试是建立一个只保存跟踪javascript的网站,然后将其加载到iframe中的扩展名中,并配置URL,使其包含有意义的数据.这样,当我使用浏览器访问所述网页时,分析就会连接,但不会在扩展中.我已经尝试在网站上放置一些可见的javascript并确认该网站的javascript正在执行.此方法也适用于其他跟踪器,但我不喜欢他们的输出,并且更喜欢Google Analytics.
还有什么想法我还能尝试做到这一点吗?
当您在应用引擎上更改数据模型以添加新属性时,这些没有特定属性的条目将与<missing>在线数据查看器中的值一起列出.
我想知道的是如何编写查询来查找这些条目?
最近我开始在我的Google App Engine项目中使用有限的暂存.所有版本之间仍然共享数据,但行为(尤其是面向用户的行为)是不同的.
当然,当我实现一些令人难以置信的新东西时,它只运行在我的代码的最新版本上,我觉得它不应该被移植到旧版本.
一些新功能需要定期运行cron作业,但我遇到了问题.我必须运行一个cron作业来调用最新的代码,但这是Google的文档对此问题的评论:
Cron requests are always sent to the default version of the application.
Run Code Online (Sandbox Code Playgroud)
默认版本是最早的版本,因为发送给用户的客户端代码的第一个版本不是未来证明,也不知道如何选择要调用的API版本.
所以我的问题是,如何绕过这个限制并创建一个cron作业,它将调用最新版本而不是默认版本的应用程序?