小编Eth*_*ron的帖子

诀窍让AWS spot实例"持久"?

我的客户使用AWS作为他的VPS.他遇到问题的一件事是,如果现场实例的出价高于他的出价,那么他的实例就会被终止.看起来并不是什么大不了的,除了现场实例不是持久性的,所以每次发生这种情况时我们都必须从图像中恢复.

他希望我做的是写一些会在每X个时间内检查已终止实例的内容,并自动重启它们.更重要的是,他想要某种方式来假装"坚持".我最好的想法是每隔Y时间从每个服务器创建一个图像,然后从该图像启动(如果/当该实例终止时).

任何其他想法都会很高兴听到.我想我的问题是,我是否在正确的轨道上,您是否知道可能已经存在的任何解决方案?

更新:差不多一年后,我回到这里寻找所有这些精彩的回应,并且比我预期的更多地关注这个话题.以下很多答案虽然内容丰富且有帮助,但却质疑我的推理.我想说,即使在那个时候,我100%同意这不是一个明智的想法,但我的客户要求,尽管我有任何尝试,但要把事情转向更好的方向.

非常感谢你的帮助.我最终确定了如何完全按照自己的意愿行事,并且能够编写一些自动重新启动已终止实例的代码.这从来都不容易,但是当我转移到新客户端时它运作良好.

祝你们中任何一个有同样问题的人好运,你们正在进行(可能通过武力,就像我的情况一样)并不容易.现场请求更便宜,因为这里的一些人提到了他们的回复,特别是因为没有提供持久性.否则,我认为"现货要求"市场的定价会大不相同.

尽管如此,可能,我做到了,这是一次很棒的经历.如果没有办法,你必须伪造它!如果你不这样做,别人会.

更新II:我只想提醒大家,这是我基本上的任务.虽然当时许多人只是驳回了整个概念,但我最终得到了一个或多或少功能的SaaS,允许人们轻松管理和监控所有现场实例,包括启用/禁用自动持续重启的能力.实例,单个实例的调度时间(它们应该或不应该启动它们)等.

虽然我绝对同意,从开发者的角度来看,它是一个不雅的需求,在当时,我并没有想这样做,我还是会说,这是在一个方法挺有意思,被要求到努力工作,因为我不仅学到了很多东西,而且不仅对我的能力和代码有了很大的信心,而且我制作了一个非常有用的东西,据我所知,我的软件非常有价值.客户(即使他们要求错误的东西,因为他们不知道更好).

我试图说服他,但他坚持说,既然他是那个付钱的人,我把注意力集中在那里,不仅完成了许多人在这里被贬低的愚蠢行为,而且使得它对某人有利可图.

如果它愚蠢,就不会保存任何人的钱.

看,我现在读这篇文章并且稍微畏缩一下.那时我更天真.我知道AWS 好多了,现在,我现在代码好多了,等等.当然.

但我仍然为解决这个问题而感到骄傲,特别是因为正是这些同事,年龄更大,经验更丰富,无疑是伟大的程序员,他们告诉我它不能或不应该完成.你是那些对我提出挑战的人,谢谢!

如果可以盈利的话怎么办?你确定它不应该吗?

amazon-web-services

44
推荐指数
4
解决办法
2万
查看次数

通过(Watir-)Webdriver调用时,Chrome/Firefox不会保留Cookie?

我正在为使用Ruby和Watir的客户端开发一个项目.他要求在重新加载应用程序时恢复会话(以便保存其登录状态).这是Chrome的正常行为(似乎),Firefox也可以选择这样做.

我已经尝试了所有我能想到的东西,似乎无法使用watir-webdriver来实现这一点.我已经指定Watir使用特定的配置文件(您认为它可以解决问题),确保所有设置都正确(它们是,因为它们在我自己启动浏览器时起作用).我尝试使用各种开关和配置文件选项,我认为可能有所帮助.没有.

所以,问题是,为什么会发生这种情况,我可以采取哪些措施来解决或解决这个问题?在这一点上,我几乎完全没有想法了.我甚至尝试在IRB中手动保存和重新加载cookie,但无济于事......

我知道这一定是可能的,因为当我手动登录网站时,关闭浏览器并重新打开它,我仍然登录.我需要重现这种确切的行为,但是在手册之间的某处出现了问题Chrome/Firefox的实例,以及由Watir控制的实例.

最后,我会提到我注意到,当我指定我的个人资料时,它会加载我的历史记录条目,但不会加载任何cookie.这让我越来越迷茫.

如果有人可以帮助我,我将不胜感激.

firefox google-chrome webdriver watir-webdriver selenium-chromedriver

8
推荐指数
1
解决办法
1698
查看次数

是C++语句的Big-O'delete [] Q;' O(1)还是O(n)?

标题是不言自明的.很容易的问题.我认为这是O(n),但是想在明天的最后一天之前进行验证.

c++ arrays big-o time-complexity dynamic-memory-allocation

8
推荐指数
1
解决办法
1497
查看次数

通过亚马逊产品广告API过滤或确定仓库交易?

我正在开展一个项目,涉及在亚马逊上处理仓库交易.我一直在寻找,并试图找到一种方法来拉动使用产品广告API仓交易.那么,问题#1是,有没有办法实现这一目标?

如果没有办法,那么问题#2是,如果我提取项目清单,是否有办法确定这些项目中的任何一项是否是仓库交易?

基本上,我需要一种使用API​​查找仓库交易的方法.有没有人有任何想法我可以尝试?

提前致谢!

amazon

8
推荐指数
1
解决办法
1238
查看次数

使用Ruby在Selenium Webdriver中为PhantomJS设置自定义用户代理

我今晚一直在网上,现在大约3-4个小时.我已经尝试过每一个我遇到过的建议.我甚至检查了Selenium驱动程序对象上的"capabilities"对象,以确保它实际设置在那里,实际上它是:

#<Selenium::WebDriver::Remote::Capabilities:0x00000007475cf0
 @capabilities=
  {:browser_name=>"phantomjs",
   :version=>"1.9.7",
   :platform=>:"linux-unknown-64bit",
   :javascript_enabled=>true,
   :css_selectors_enabled=>true,
   :takes_screenshot=>true,
   :native_events=>true,
   :rotatable=>false,
   :firefox_profile=>nil,
   :proxy=>#<Selenium::WebDriver::Proxy:0x00000007475908 @type=:direct>,
   "driverName"=>"ghostdriver",
   "driverVersion"=>"1.1.0",
   "handlesAlerts"=>false,
   "databaseEnabled"=>false,
   "locationContextEnabled"=>false,
   "applicationCacheEnabled"=>false,
   "browserConnectionEnabled"=>false,
   "webStorageEnabled"=>false,
   "acceptSslCerts"=>false,
   "proxy"=>{"proxyType"=>"direct"},
   "phantomjs.page.settings.userAgent"=>
    "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:27.0) Gecko/20100101 Firefox/27.0"}>
Run Code Online (Sandbox Code Playgroud)

除了"phantomjs.page.settings.userAgent"之外,我还尝试了"userAgent"等等.在过去的3-4个小时里我能在网上找到的所有东西,我都试过了.显然,在2013年初,这是一个相当普遍的问题,而我所说的解决方案显然是常见的解决方案.这些都不起作用,事实上,我从这一点信息中确切地知道这一点(注意User-Agent是"Ruby"):

UNCAUGHT EXCEPTION: {"errorMessage"=>"Element is not currently visible and may not be manipulated",
 "request"=>
  {"headers"=>
    {"Accept"=>"application/json",
     "Accept-Encoding"=>"gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
     "Connection"=>"close",
     "Content-Length"=>"2",
     "Content-Type"=>"application/x-www-form-urlencoded",
     "Host"=>"localhost:9876",
     "User-Agent"=>"Ruby"},
   "httpVersion"=>"1.1",
   "method"=>"POST",
   "post"=>"{}",
   "postRaw"=>"{}",
   "url"=>"/click",
   "urlParsed"=>
    {"anchor"=>"",
     "query"=>"",
     "file"=>"click",
     "directory"=>"/",
     "path"=>"/click",
     "relative"=>"/click",
     "port"=>"",
     "host"=>"",
     "password"=>"",
     "user"=>"",
     "userInfo"=>"",
     "authority"=>"",
     "protocol"=>"",
     "source"=>"/click",
     "queryKey"=>{},
     "chunks"=>["click"]},
   "urlOriginal"=> …
Run Code Online (Sandbox Code Playgroud)

ruby user-agent phantomjs selenium-webdriver ghostdriver

2
推荐指数
1
解决办法
5652
查看次数

为什么这行代码会导致计算机崩溃?

为什么这行代码会导致电脑死机呢?在特定于内存的级别上会发生什么?

for(int *p=0; ;*(p++)=0)
    ;
Run Code Online (Sandbox Code Playgroud)

我已经在 Everything2 上找到了“答案”,但我想要一个具体的技术答案。

c c++ memory

0
推荐指数
1
解决办法
6259
查看次数