我的客户使用AWS作为他的VPS.他遇到问题的一件事是,如果现场实例的出价高于他的出价,那么他的实例就会被终止.看起来并不是什么大不了的,除了现场实例不是持久性的,所以每次发生这种情况时我们都必须从图像中恢复.
他希望我做的是写一些会在每X个时间内检查已终止实例的内容,并自动重启它们.更重要的是,他想要某种方式来假装"坚持".我最好的想法是每隔Y时间从每个服务器创建一个图像,然后从该图像启动(如果/当该实例终止时).
任何其他想法都会很高兴听到.我想我的问题是,我是否在正确的轨道上,您是否知道可能已经存在的任何解决方案?
更新:差不多一年后,我回到这里寻找所有这些精彩的回应,并且比我预期的更多地关注这个话题.以下很多答案虽然内容丰富且有帮助,但却质疑我的推理.我想说,即使在那个时候,我100%同意这不是一个明智的想法,但我的客户要求,尽管我有任何尝试,但要把事情转向更好的方向.
非常感谢你的帮助.我最终确定了如何完全按照自己的意愿行事,并且能够编写一些自动重新启动已终止实例的代码.这从来都不容易,但是当我转移到新客户端时它运作良好.
祝你们中任何一个有同样问题的人好运,你们正在进行(可能通过武力,就像我的情况一样)并不容易.现场请求更便宜,因为这里的一些人提到了他们的回复,特别是因为没有提供持久性.否则,我认为"现货要求"市场的定价会大不相同.
尽管如此,有可能,我做到了,这是一次很棒的经历.如果没有办法,你必须伪造它!如果你不这样做,别人会.
更新II:我只想提醒大家,这是我基本上的任务.虽然当时许多人只是驳回了整个概念,但我最终得到了一个或多或少功能的SaaS,允许人们轻松管理和监控所有现场实例,包括启用/禁用自动持续重启的能力.实例,单个实例的调度时间(它们应该或不应该启动它们)等.
虽然我绝对同意,从开发者的角度来看,它是一个不雅的需求,在当时,我并没有想这样做,我还是会说,这是在一个方法挺有意思,被要求到努力工作,因为我不仅学到了很多东西,而且不仅对我的能力和代码有了很大的信心,而且我制作了一个非常有用的东西,据我所知,我的软件非常有价值.客户(即使他们要求错误的东西,因为他们不知道更好).
我试图说服他,但他坚持说,既然他是那个付钱的人,我把注意力集中在那里,不仅完成了许多人在这里被贬低的愚蠢行为,而且使得它对某人有利可图.
如果它是愚蠢,就不会保存任何人的钱.
看,我现在读这篇文章并且稍微畏缩一下.那时我更天真.我知道AWS 好多了,现在,我现在代码好多了,等等.当然.
但我仍然为解决这个问题而感到骄傲,特别是因为正是这些同事,年龄更大,经验更丰富,无疑是伟大的程序员,他们告诉我它不能或不应该完成.你是那些对我提出挑战的人,谢谢!
如果可以盈利的话怎么办?你确定它不应该吗?
我正在为使用Ruby和Watir的客户端开发一个项目.他要求在重新加载应用程序时恢复会话(以便保存其登录状态).这是Chrome的正常行为(似乎),Firefox也可以选择这样做.
我已经尝试了所有我能想到的东西,似乎无法使用watir-webdriver来实现这一点.我已经指定Watir使用特定的配置文件(您认为它可以解决问题),确保所有设置都正确(它们是,因为它们在我自己启动浏览器时起作用).我尝试使用各种开关和配置文件选项,我认为可能有所帮助.没有.
所以,问题是,为什么会发生这种情况,我可以采取哪些措施来解决或解决这个问题?在这一点上,我几乎完全没有想法了.我甚至尝试在IRB中手动保存和重新加载cookie,但无济于事......
我知道这一定是可能的,因为当我手动登录网站时,关闭浏览器并重新打开它,我仍然登录.我需要重现这种确切的行为,但是在手册之间的某处出现了问题Chrome/Firefox的实例,以及由Watir控制的实例.
最后,我会提到我注意到,当我指定我的个人资料时,它会加载我的历史记录条目,但不会加载任何cookie.这让我越来越迷茫.
如果有人可以帮助我,我将不胜感激.
firefox google-chrome webdriver watir-webdriver selenium-chromedriver
标题是不言自明的.很容易的问题.我认为这是O(n),但是想在明天的最后一天之前进行验证.
我正在开展一个项目,涉及在亚马逊上处理仓库交易.我一直在寻找,并试图找到一种方法来拉动仅使用产品广告API仓交易.那么,问题#1是,有没有办法实现这一目标?
如果没有办法,那么问题#2是,如果我提取项目清单,是否有办法确定这些项目中的任何一项是否是仓库交易?
基本上,我需要一种使用API查找仓库交易的方法.有没有人有任何想法我可以尝试?
提前致谢!
我今晚一直在网上,现在大约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) 为什么这行代码会导致电脑死机呢?在特定于内存的级别上会发生什么?
for(int *p=0; ;*(p++)=0)
;
Run Code Online (Sandbox Code Playgroud)
我已经在 Everything2 上找到了“答案”,但我想要一个具体的技术答案。