转换为背景异步方法

时间:2018-11-19 02:40:50

标签: python python-3.x asynchronous

我有以下功能,大约需要十秒钟才能运行:

def setup_user(request):

    # do some stuff

    # put this in the background
    g = GoogleOauthClient()
    g.get_all_contacts(email='bob@hello.com', auth_token='asdfhello')

    # return a response
    return HttpResponse('OK')

然后我将其放入Google PubSub后台任务,如下所示:

def setup_user(request):

    # do some stuff

    # put this in the background -- takes ten seconds to run.
    p = PubSubClient()
    p.send_message(
        function="update_contacts", 
        data={
          'email': 'bob@hello.com',
          'auth_token': 'asdfhello'
        }
    )

    # return a response
    return HttpResponse('OK')

这很好用,但是我觉得这是一个过大的解决方案(每次执行此操作时,我都必须设置pubsub订阅者。

我该如何在python本身中使用后台任务来执行上述操作-将其作为后台异步任务运行的最简单方法是什么?我正在使用python3.6。

0 个答案:

没有答案