我们目前正在使用我们的iPhone应用程序遇到以下奇怪的问题。 正如标题所说, NSUserDefaults正在丢失我们的自定义键和值,当电话重新启动,但没有解锁,这是发生在一个非常具体的情况。 语境: 我们在应用程序中使用NSUserDefaults来存储用户数据(例如用户名)。 我们的应用在背景模式下启用了位置。 我们遇到这个问题,只有通过空中分发或通过Testflight。 如果我使用Xcode将.ipa(相同的分布在空中)拖放到手机中,则不会遇到此问题。 情况:用户安装应用程序,login并成功将用户名存储在NSUserDefaults 。 然后,用户将他们的设备closures并将其重新打开,并让手机静置一段时间,然后解锁屏幕。 问题:如果在这段时间内触发了一个重要的位置变化,应用程序就会在后台运行,但NSUserDefaults是空的(只有一些来自苹果的密钥,但没有我们的自定义密钥)。 然后,无论你做什么, NSUserDefaults不会得到这个键的恢复(例如,如果你解锁你的手机并打开应用程序,你将看到键仍然丢失)。 任何帮助或想法将真正赞赏:)
我有一个csv卸载进程,我正在sqldeveloper中运行,popup一个进程窗口,显示出口的进度,它有一个选项来运行在后台进程,我select了这个选项,但现在我怎么知道过程是否完成?
我目前正在开发一个Rails 3项目,分为四个部分: 面向公众的网站 pipe理网站/后台 模型 用于第三方数据访问的API 由于这三个关键组件之间共享模型,所以我想让它们远离一个主要项目,但是每个部分都需要访问这些模型,但我不想重复代码,并且在各处都有不同的版本。 目前我有一个gem中的模型代码,并在每个项目的Gemfile我引用他们用下面的行: gem "my_models", :path => "../my_models/" 但是,当我部署到我们的testing服务器上供我的同事评估系统时,我需要从外部存储库中提取模型,因此我将以下行换出: gem "my_models", :git => "git@private.repository.com:username/my_models.git" 这在自己的工作很好,但它的版本相当笨重(即我需要碰撞的版本,每次我想部署到testing服务器的变化),切换线使用git而不是本地,并确保我正确推送文件。 以前我使用的是一个共享的git子模块,但是这同样很尴尬。 我宁愿不把所有东西都build成一个大型项目,因为这些项目往往变得非常怪异,难以维护,如果可能的话,我也想分开关注,所以我对pipe理网站所做的任何改变都没有太多的有机会影响其他组件 – 显然这些模型有潜在的问题,但这是一个我已经考虑和理解的风险。 当涉及到这样的事情时,人们会有什么build议? 或者,我是否完全用错误的方式去做? 一些额外的背景: 这个应用程序是对现有网站的重写,它遵循“将所有内容整合到一个项目中”的模式 – 不幸的是,这里有两个问题: 这个应用程序的开发很糟糕 – 我inheritance了这个项目,当我第一次拿起它的时候,每个页面的加载时间是一个用户的2分钟 – 这个数字从那以后就减less了,但是仍然存在问题 我们目前处于我们现有网站的容量限制,我们预计未来6个月我们将需要承担更多的负载 – 但是,通过“一站式”应用扩大规模意味着我们将浪费资源扩大规模该网站的后端不需要它。 从本质上讲,我想分离出两件事 – 前端(即公共网站和API)和后端 – 我所知道的关于软件开发的一切都告诉我,把所有这些结合在一起并不是一个理想的解决scheme(和过去的历史展示我认为将这两者分开是确保前端性能的一个好的举措)。 也许我需要从另一个angular度来看待这个问题 – 在每个项目中保留模型,而不是在项目之间共享它们,而是为每个function区域分配一个function子集(即后端需要知道谁创build了一个职位,但是前端并不关心这一点,所以在模型中读取时忽略该逻辑)。
有谁知道如何设置一个计划任务在后台使用Windows任务计划程序运行? 似乎没有任何select这样做。
我正在为一个用户创build一个小仪表板,允许他运行特定的工作。 我正在使用Django,因此我希望他能够单击链接来启动作业,然后将该页面返回给他,并显示作业正在运行的消息。 这项工作的结果稍后将通过电子邮件发送给他。 我相信我应该使用subprocess.Popen但我不确定这一点。 所以在伪代码,这是我想要做的: if job == 1: run script in background: /path/to/script.py return 'Job is running'
我工作在一个有点大的Web应用程序,而后端主要是在PHP中。 代码中有几个地方需要完成一些任务,但我不想让用户等待结果。 例如,在创建新帐户时,我需要向他们发送一封欢迎邮件。 但是,当他们点击“完成注册”按钮时,我不想让他们等到电子邮件实际发送,我只是想启动过程,并立即返回一个消息给用户。 直到现在,在一些地方,我一直在用exec()来进行攻击。 基本上做这样的事情: exec("doTask.php $arg1 $arg2 $arg3 >/dev/null 2>&1 &"); 这似乎工作,但我想知道如果有更好的办法。 我正在考虑编写一个在MySQL表中排队任务的系统,以及一个单独的长时间运行的PHP脚本,每秒查询一次这个表,并执行它找到的任何新任务。 如果需要的话,这也可以让我在未来的几个工人机器之间分配任务。 我正在重新发明轮子吗? 有没有比exec()黑客或MySQL队列更好的解决方案?
由于这篇文章多年来引起了很多关注,我已经在这篇文章的底部列出了每个平台的顶级解决方案。 原文 : 我想让我的node.js服务器在后台运行,即:当我关闭我的终端时,我希望我的服务器继续运行。 我GOOGLE了这个,并提出了本教程 ,但它不能按预期工作。 所以,而不是使用该守护进程脚本,我以为我只是使用输出重定向( 2>&1 >> file一部分),但这也不会退出 – 我在我的终端空白行,像它正在等待输出/错误。 我也试图把这个过程放在后台,但是一旦我关闭了终端,这个过程也会被终止。 那么当我关闭本地计算机时,如何让它继续运行? 顶级解决方案 Systemd (Linux) 启动 (Mac) 节点窗口 (Windows) PM2 (Node.js)