标签: background-process

如何在iOS上运行后台进程,使用私有API来同步电子邮件而无需越狱手机

我正在开发一个类似于联系人,日历的企业应用程序.即使我的应用程序在后台,我也想同步我的日历和联系人.我也很高兴使用私有API,因为我不会提交给应用程序商店.请注意,我想在没有越狱设备的情况下完成这项工作.

已经在这里发布一个类似的问题我正在创建这个新线程,因为已经发布的帖子已经为Jailbreaked设备建议了解决方案.

iphone background-process iphone-privateapi ios

6
推荐指数
2
解决办法
3372
查看次数

如何检查文件何时完成在Python中复制?

我想找出一种方法来警告python脚本文件已完成复制.这是场景:

  1. to_print脚本通过不断轮询来监视文件夹os.listdir().

  2. 每次os.listdir()返回一个文件列表,其中存在以前从未见过的文件时,该脚本会对该文件执行一些操作,包括打开它并操纵其内容.

当文件较小时,这很好,并且将文件从其原始源复制到正在观看的目录所花费的时间少于下次轮询之前的剩余时间os.listdir().但是,如果轮询并找到文件,但它仍处于被复制的过程中,则当脚本尝试对其执行操作时,文件内容将损坏.

相反,我希望能够(使用os.stat或以其他方式)知道当前正在复制文件,并等待它完成,直到我采取行动,如果是这样.

我目前的想法是os.stat()每次找到一个新文件时使用,然后等到下次轮询并比较自上次轮询以来修改/创建的时间,如果它们保持不变则该文件是"稳定的",否则继续投票直到它.我不确定这会工作,因为我不太熟悉Linux/Unix如何更新这些值.

python unix file-io updates background-process

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

Django:在后台发送电子邮件的最佳方式?

我正在从Django发送电子邮件(使用Webfaction).但是,这很慢,所以我想在后台发送电子邮件,即使电子邮件尚未发送,也会向用户返回回复.

有什么想法是最好的方法吗?

我读过有关芹菜的文章,但似乎有很多步骤可以设置它:http://markliu.me/2011/sep/29/django-celery-on-webfaction-using-rabbitmq/那没关系,但是我我想知道这是尝试之前要走的路.

线程怎么样?http://www.artfulcode.net/articles/threading-django/

还是cron的工作?http://docs.webfaction.com/software/general.html

您有其他经验的人吗?

django multithreading background-process

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

如何从VisualStudio构建后事件启动后台任务?

我正在尝试从VisualStudio运行特定项目时启动grunt监视的实例.我有一个用ember编写的页面应用程序,并使用grunt编译,它连接到用WebAPI编写的后端.我正在尝试减少摩擦,因此可以在VS中启动调试(F5)并让它完成所有工作.

如果我添加一个post-build事件来使用grunt编译应用程序,它可以正常工作:

node node_modules\grunt-cli\bin\grunt dev --no-color
Run Code Online (Sandbox Code Playgroud)

grunt watch 永远不会终止,因此VisualStudio构建似乎会挂起,直到你终止node.exe进程(除了无法使用Ctrl + Break在VS中停止之外,这是主要的预期):

node ../node_modules\grunt-cli\bin\grunt watch --no-color
Run Code Online (Sandbox Code Playgroud)

我尝试从start命令开始,但VisualStudio仍然等待它退出(只是说"Build started ..."):

start node ../node_modules\grunt-cli\bin\grunt dev --no-color
Run Code Online (Sandbox Code Playgroud)

我也尝试过start的/i参数,但这没有用.它打开一个新的窗口运行grunt watch,但在我关闭控制台窗口之前,构建不会继续(应用程序不会启动).

在此输入图像描述

据推测,这与构建过程的子进程有什么关系?有没有一个实际的方法来启动后台任务没有VisualStudio等待它?

msbuild visual-studio-2010 background-process post-build-event

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

编写 makefile 时如何在退出时终止子进程?

生成文件:

default:
    command1 &
    command2 &
Run Code Online (Sandbox Code Playgroud)

当我跑步时make,点击Control-Ccommand1然后command2继续跑步。一旦 make 被杀死,我怎样才能使 和command1被杀死?并且应该并行运行。Command1 监视源文件并编译它们。Command2 是一个网络服务器。command2command1command2

makefile background-process

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

当应用程序在后台时如何查询HealthKit(HKWorkout)更新?

编辑以添加我的更新代码,该代码是我根据 WWDC 2016 的充分利用 Healthkit 演讲编写的,但除非我打开应用程序,否则我仍然无法获得新锻炼的打印声明。

将新的锻炼项目保存到 Apple Watch 后,我尝试在 iPhone 上进行观察。下面是我正在运行的代码didFinishLaunching。为了测试它,我在我的 iPhone 应用程序上运行 Xcode...构建并运行,然后导航回主屏幕。然后在我的手表上开始并保存锻炼,但是我的打印语句没有在控制台中打印。我缺少什么?

func startObservingNewWorkouts() {

    let sampleType =  HKObjectType.workoutType()

    //1. Enable background delivery for workouts
    self.healthStore.enableBackgroundDelivery(for: sampleType, frequency: .immediate) { (success, error) in
        if let unwrappedError = error {
            print("could not enable background delivery: \(unwrappedError)")
        }
        if success {
            print("background delivery enabled")
        }
    }

    //2.  open observer query
    let query = HKObserverQuery(sampleType: sampleType, predicate: nil) { (query, completionHandler, error) in

        self.updateWorkouts() {
            completionHandler()
        }


    } …
Run Code Online (Sandbox Code Playgroud)

background-process ios appdelegate swift healthkit

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

vue.js:在哪里放置定期重复的后台查询

我想每 15 秒查询一次 API 服务,这样我就可以从数据库获取数据并检查某些内容是否发生更改。如果有变化,那么我的前端会根据 vue 的工作原理自动更新。

while (true) {
    setTimeout(function() { 
        QueryService.orders().then(response => 
            this.orders = response.data
        )
    }, 15000)
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 这是解决此类问题的好方法吗?
  2. 代码中放置此类循环的最佳位置是什么?

编辑:

使用setInterval()似乎是正确的方法,但是setInterval在created()挂钩中使用轮询函数根本不会影响数据表。它显示“没有可用数据”:

data () {
    return {
        headers [
            { ... },
            { ... }
        ],
        orders: []
}

created () {
    setInterval(function() { 
        QueryService.orders().then(response => this.orders = response.data)
    }, 15000)
}
Run Code Online (Sandbox Code Playgroud)

使用轮询功能无需setInterval工作,并像往常一样用数据填充我的数据表:

created () {
    QueryService.orders().then(response => this.orders = response.data)
}
Run Code Online (Sandbox Code Playgroud)

javascript background-process vue.js

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

无法让后台任务在 React-Native 中工作

我需要经常写入文本文件,假设在 iOS 和 android 中使用 react-native 将时间戳写入文件。我在以下库的帮助下编写了一个应用程序。在 android 上,该应用程序运行良好,但在iOS 上运行不正常。

我尝试使用这些库:

  1. 反应原生背景任务
  2. 反应原生背景获取
  3. 反应原生背景队列 + 反应原生背景任务

但它们都不能正常工作:

  1. 使用 react-native-background-task:文件每天随机写入 5-6 次或更少
  2. 使用 react-native-background-fetch:文件每天随机写入 3-4 次或更少
  3. react-native-background-queue + react-native-background-task:文件根本没有写!

请您告诉我这些行为是否正常,如果不正常,我做错了什么???

任何帮助将不胜感激。

这是我的代码:

为了使用react-native-background-task

import React from 'react'
import Mytest from './test';
import BackgroundTask from 'react-native-background-task'
import {
    Text,
    View,
  } from 'react-native';

BackgroundTask.define(() => {
  console.log('Hello from a background task')
  Mytest.writeFiles()
  BackgroundTask.finish()
})

export default class MyApp extends React.Component {

  componentDidMount() {
    BackgroundTask.schedule()
  }

  render() {
    return( …
Run Code Online (Sandbox Code Playgroud)

android background-process ios react-native

6
推荐指数
0
解决办法
1447
查看次数

Laravel - 作业表上的served_at和available_at有什么区别?

我已经尝试在 Google 和 Laravel 文档中找到答案。但很难找到两者之间的区别

reserved_at
available_at
Run Code Online (Sandbox Code Playgroud)

谁能解释一下该栏的含义是什么?

queue background-process laravel

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

我正在尝试在 Go 中“分叉”一个后台进程——在 Mac 和 Linux 上完美运行,但在 Windows 上关闭终端时就会终止

考虑这个简单的 Go 程序,它演示了在 Go 中“分叉”后台进程的标准方法。当它运行时,它应该立即将自己发送到后台,在那里每秒将递增整数写入output.txt一次。它会一直运行,直到您手动杀死它。

这个程序在 Mac 和 Linux 上完美运行,但在 Windows 上有一个奇怪的行为:它似乎有效,因为我立即再次收到命令提示符,并且我的进程确实在后台运行并将这些整数写入 output.txt。但是,当我关闭终端窗口时,后台进程会被终止。

标准 cmd.exe 和使用 PowerShell 的新式 Windows 终端都会出现此问题。在 Mac 和 Linux 上不存在这样的问题,在终端关闭、ssh 注销等情况下它可以很好地生存。

我尝试使用 cmd.SysProcAttr 设置 syscall.CREATE_NEW_PROCESS_GROUP,但这没有什么区别。

我的问题是,当终端关闭时,是什么导致它在 Windows 上死掉以及如何让它停止?

package main

import (
    "fmt"
    "os"
    "os/exec"
    "time"
)

var childEnv = "__IS_CHILD"

func main() {
    if os.Getenv(childEnv) == "" {
        fork()
        os.Exit(0)
    }

    for i := 0; ; i++ {
        fmt.Println(i)
        time.Sleep(time.Second)
    }
}

func fork() {
    outfile, err := os.Create("output.txt")
    if err != nil {
        panic(err) …
Run Code Online (Sandbox Code Playgroud)

windows background-process go windows-console

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