问题标签 [task-queue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3979 浏览

python - 在 Google App Engine 中检查任务队列的状态

我将几个任务放入任务队列中,并想知道特定任务何时完成。我在 API 中没有找到关于回调或检查任务状态的任何内容,所以我想我会看看其他人在做什么,或者是否有解决方法(或官方)的方法来检查。我不关心单个任务,如果有帮助,我将放入 6 个不同的任务,并想知道所有 6 个任务何时完成。

谢谢!

0 投票
4 回答
4610 浏览

python - GAE:带有测试平台的单元测试任务队列

我正在使用 testbed 对我的 google app engine 应用程序进行单元测试,并且我的应用程序使用任务队列。

当我在单元测试期间向任务队列提交任务时,似乎该任务在队列中,但该任务没有执行。

如何在单元测试期间执行任务?

0 投票
2 回答
422 浏览

java - 将 App Engine 任务队列传递给后端的这种语法有什么问题?

我尝试了以下方法将 TaskQueue 传递给后端,但没有奏效。

这种语法有问题吗?

后端.xml:

0 投票
1 回答
477 浏览

python - 任务队列和非幂等任务

我正在开发一个投票应用程序,用户可以在其中上传所有选民的电子邮件地址列表。在进行了一些错误检查后,我Voter为每个选民创建了一个实体。由于可能有大量选民,我在任务队列中创建Voter实体以避免 30 秒的限制,任务如下所示:

然而,这个任务不是幂等的。有没有办法使这个任务幂等?还是有更好的方法来做到这一点?

0 投票
3 回答
8148 浏览

c# - 使用 Task.ContinueWith? 创建执行队列

我有几个要在后台执行的操作,但它们必须一个接一个地同步执行。

我想知道使用 Task.ContinueWith 方法来实现这一点是否是个好主意。你预见到这有什么问题吗?

我的代码看起来像这样:

0 投票
3 回答
1943 浏览

python - 使用任务队列发送电子邮件

我使用 Google Task Queue Python API 编写了我的第一个代码。每次在地址栏中输入 URL 时,它应该发送一封电子邮件。虽然它default在我的仪表板的任务队列中显示了一个任务,但我不知道为什么即使在启动一个小时后它也没有执行。

队列邮件.py:-

app.yaml:-

我将代码调用为:appid.appspot.com/mail

0 投票
3 回答
341 浏览

java - 任务队列有问题?

我正在使用谷歌应用引擎任务队列。这是我的第一次。我找到了一个教程,但有一些问题。以下是我用来检查任务队列的两个 servlet:

第二个servlet是:

我正在使用此 URL 调用 GAEJCreateTaskServlet:

现在的问题是当我调用这个 url 时,我看到了创建任务的输出,但是在开发控制台中我看不到队列中的任何任务。如果我从两个 servlet 中删除 doPost 函数,那么我会看到队列中的任务,但是当我运行它时,什么也没有发生,任务仍然存在。为什么会这样,我该如何解决这个问题。提前致谢。

0 投票
3 回答
1514 浏览

python - GAE TaskQueue:从 App Engine 外部访问拉取队列的示例代码?

我正在尝试使用 GAE TaskQueue 的 REST API 将任务从队列拉到外部服务器(不在 GAE 上的服务器)。

  • 有没有为我做这个的图书馆?

  • API 很简单,所以我只需要弄清楚身份验证。gtaskqueue_sample我检查了google-api-python-client使用发送的请求--dump_request并找到了authorization: OAuth XXX标头。将该令牌添加到我自己请求的工作中,但该令牌似乎会定期(可能每天)过期,我不知道如何重新生成它。就此而言, gtaskqueue_sample 本身不再有效(调用https://accounts.google.com/o/oauth2/token失败并显示No JSON object could be decoded)。

如何处理身份验证?这是一个服务器应用程序,因此理想情况下我可以生成一个可以从那时起使用的令牌。

0 投票
1 回答
113 浏览

c - 更好地锁定共享资源,还是有一个线程来满足请求?

我有一个共享内存池,许多不同的线程可能会从中请求分配。从这个请求分配将在每个线程中发生很多,但是线程的数量可能很小,通常只有 1 个线程在运行。我不确定以下哪种方法更好。

最终,我可能需要同时实现两者,看看哪个会产生更有利的结果……我也担心此时即使考虑 #2 也可能是过早的优化,因为我实际上还没有编写使用此共享资源的代码。但是这个问题实在是太有趣了,以至于它继续分散我对其他工作的注意力。

1)创建一个互斥体并让一个线程在获得分配之前尝试锁定它,然后解锁它。

2)让每个线程注册一个请求槽,当它需要分配时,它将请求放入槽中,然后阻塞(while(result == NULL){usleep()})等待请求槽有结果。单个线程不断迭代请求槽进行分配并将它们分配给请求槽中的结果。

数字 1 是简单的解决方案,但如果时机合适,单个线程可能会占用锁。第二种更复杂,但在从资源中提取时确保线程之间的公平性。但是,它仍然会阻塞请求线程,并且如果有很多线程,迭代可能会在不进行任何实际分配的情况下消耗周期,直到找到要完成的请求。

注意:Linux 上的 C 使用 pthreads

0 投票
2 回答
637 浏览

google-app-engine - Google App Engine 任务队列:文件上传时的 DeadlineExceededError

我有一个要上传的大文件。整个请求可能需要超过 30 秒的限制,因此我将其移至任务队列。问题是即使在任务中,我仍然会收到此错误。
我假设这是因为它是上传文件的单个请求,因此不能免受 30 秒的限制。除了使用“后端”解决方案(我认为 App 引擎刚刚添加了这个,但它是一个付费功能,看起来有点复杂)之外,有没有办法绕过这个限制?不幸的是,我无法拆分文件。

编辑:很抱歉造成混乱。通过上传,我的意思是上传到外国服务器。场景是我从数据存储中提取数据并将其上传到 Google Docs 电子表格。将其上传到 Google Docs 的单个请求,即使它在任务队列中,也超过 30 秒并且超时。