标签: background-process

当应用程序处于后台时,来自 iOS 推送通知操作的 Http 请求

我的 iOS 应用程序可以通过操作按钮接收推送通知:

使用操作按钮推送通知

点击按钮通过 UrlSession 和数据任务发送 post http 请求。当应用程序暂停或未运行时,它可以很好地工作。但当应用程序处于后台时,例如当用户刚刚从底部向上滑动(或按下主页按钮)时,它不起作用。推送操作会处理,但 http 请求不会发送。

从我的 iPhone 的控制台 os_logs 中,我看到 UrlSession 无法从后台建立连接并抛出错误 Code=-1005“网络连接丢失。”。我一杀掉应用程序就可以了。我尝试了不同的 url 会话配置、后台 url 会话、后台任务,但没有任何效果。我发现的唯一解决方法是使用exit(0)fromapplicationDidEnterBackground方法,但强烈不建议以编程方式终止应用程序。

问题:当应用程序处于后台时,如何通过推送通知操作建立 http 连接?

我的代码:

class NotificationService: NSObject, UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        // notification processing if app is in foreground
        ...
    }
    
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let requestId = String(describing: response.notification.request.content.userInfo["requestId"] …
Run Code Online (Sandbox Code Playgroud)

background-process apple-push-notifications ios swift

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

需要后台流程.线?

我需要一个后台进程来运行每分钟左右.我不希望这个过程干扰应用程序其余部分的响应能力.这是一个线程的好候选人吗?如果是这样,你会如何建议我设置线程 - 特别是哪些类/方法可以调查?

networking cocoa objective-c background-process

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

创建一个在一周工作时间内以15分钟为间隔运行的脚本

从星期一到星期五,上午9点到下午4点我想点击特定的URI.如果命中成功,我想创建/覆盖一个文件(这部分已经完成).我不确定使用cron作业做这件事会更好还是创建后台服务会更好.我打算在带有1 GB RAM的VPS上运行它.我知道这很少,但现在我能买得起.使用cron作业或后台服务会更好吗?

python cron background-process

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

如何将应用程序放到后台?

如何将应用程序(活动?)放到后台,以便它可以在那里工作?

moveTaskToBack(true);不起作用.我有android:noHistory="true"和这个代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) 
{
    switch(keyCode)
    {
        case KeyEvent.KEYCODE_BACK:
            moveTaskToBack(true);
            return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

怎么了?如何将应用程序放到后台?

upd:或者我可以只在root(MAIN,LAUNCHER)活动中使用moveTaskToBack(true)?

android background-process

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

从iOS中的后台应用程序打开应用程序?

我有一个在后台运行的应用程序,我需要它使用前置摄像头伪随机拍摄照片并将其发送到数据库.

我想到的一个可能的解决方案是使用URL方案打开另一个应用程序,它将拍摄并发送它,然后使用另一个URL方案来打开后台应用程序备份.有谁知道这是否可能?

或许还有更好的解决方案.

iphone objective-c background-process ios

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

单工dyno的并行背景任务

我们有一个Rails应用程序,其中某些请求在具有delayed_job的worker dyno上触发长时间运行的任务,而前端轮询直到它收到结果.

我们的流量虽小但增长很快,而且任务通常只需几秒钟即可完成,但最多可能需要一分钟.现在,每个web和worker dyno都足以处理我们的负载.

问题是,delayed_job队列不会并行处理作业,因此较长的任务最终会阻碍其后面的任务.

我们正在寻找的是类似于后端的Unicorn,其中单个工作人员可以同时处理多个任务.因为它是Rails,我们正在寻找多进程而不是多线程的东西.

(我们尝试在procfile中创建多个worker条目 - 这在本地开发框中工作,但在Heroku上没有)

Procfile:

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
# Multiple workers defined here doesn't translate into multiple processes on single worker dyno:
worker: bundle exec rake jobs:work
worker: bundle exec rake jobs:work
worker: bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)

这篇Heroku文章建议使用resque-pool gem作为解决方案.这是唯一的解决方案,还是delayed_job也可用于并行后台作业?

ruby-on-rails heroku background-process delayed-job resque

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

我可以在后台写一个文件吗?

在执行我的脚本期间,我需要将一个大文件写入磁盘以存储部分计算.这个文件很大,其余的脚本不需要它.目前,我需要等待写入完成才能继续执行脚本.

有没有办法在后台编写文件?有点像启动一个单独的写入过程,而其余的脚本继续不受干扰?

ruby file-io background-process

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

铁路4:实施shoryuken后台流程宝石

我只是试图实现一个后台进程(第一次),我正在寻找一个廉价的解决方案,我发现这个宝石shoryuken,但没有足够的材料关于它的设置,你知道一个教程或博客文章显示shoryuken在行动?你可以给我的任何材料都会很好我在谷歌做了深入的研究,但找不到任何有用的...

ruby ruby-on-rails backgroundworker background-process ruby-on-rails-4

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

如何在不显示OpenGL的情况下使用它?

对于应用程序,即使当前未显示该应用程序,我也希望在后台渲染事物。官方文档写过通过GLSurfaceView打开GLcontext。对于不显示图形并渲染到另一个目标中,似乎不是一个真正的解决方案。

那么问题是如何在Android中创建没有GLSurfaceView的GL上下文?

用例:录制视频并将当前时间作为文本直接添加到视频中。为此,基于CPU的图像处理只会减慢实时执行的速度。至少在录制时还应该显示视频。OpenGL可以将所有内容简单地渲染到Framebuffer / Renderbuffer中。

android opengl-es background-process

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

谷歌chrome扩展:如何在页面重新加载后立即注入脚本?

我有一个后台脚本,定期重新加载当前选项卡.

var code = 'window.location.reload();';
chrome.tabs.executeScript(my_active_tab, {code: code});
Run Code Online (Sandbox Code Playgroud)

每次重新加载页面后,我立即要注入另一个脚本.

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab){
    if (changeInfo.status == 'complete') {
        chrome.tabs.executeScript(tabId, { file: "my_script.js" });
    }
});
Run Code Online (Sandbox Code Playgroud)

以上是我目前的代码.问题是,它工作但速度太慢,因为它在每个图像加载后都会等待.

我的目标是在DOM加载后立即执行脚本.有任何想法吗?

javascript google-chrome background-process google-chrome-extension

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