问题标签 [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.
python - 在 Google App Engine 中检查任务队列的状态
我将几个任务放入任务队列中,并想知道特定任务何时完成。我在 API 中没有找到关于回调或检查任务状态的任何内容,所以我想我会看看其他人在做什么,或者是否有解决方法(或官方)的方法来检查。我不关心单个任务,如果有帮助,我将放入 6 个不同的任务,并想知道所有 6 个任务何时完成。
谢谢!
python - GAE:带有测试平台的单元测试任务队列
我正在使用 testbed 对我的 google app engine 应用程序进行单元测试,并且我的应用程序使用任务队列。
当我在单元测试期间向任务队列提交任务时,似乎该任务在队列中,但该任务没有执行。
如何在单元测试期间执行任务?
python - 任务队列和非幂等任务
我正在开发一个投票应用程序,用户可以在其中上传所有选民的电子邮件地址列表。在进行了一些错误检查后,我Voter
为每个选民创建了一个实体。由于可能有大量选民,我在任务队列中创建Voter
实体以避免 30 秒的限制,任务如下所示:
然而,这个任务不是幂等的。有没有办法使这个任务幂等?还是有更好的方法来做到这一点?
c# - 使用 Task.ContinueWith? 创建执行队列
我有几个要在后台执行的操作,但它们必须一个接一个地同步执行。
我想知道使用 Task.ContinueWith 方法来实现这一点是否是个好主意。你预见到这有什么问题吗?
我的代码看起来像这样:
python - 使用任务队列发送电子邮件
我使用 Google Task Queue Python API 编写了我的第一个代码。每次在地址栏中输入 URL 时,它应该发送一封电子邮件。虽然它default
在我的仪表板的任务队列中显示了一个任务,但我不知道为什么即使在启动一个小时后它也没有执行。
队列邮件.py:-
app.yaml:-
我将代码调用为:appid.appspot.com/mail
java - 任务队列有问题?
我正在使用谷歌应用引擎任务队列。这是我的第一次。我找到了一个教程,但有一些问题。以下是我用来检查任务队列的两个 servlet:
第二个servlet是:
我正在使用此 URL 调用 GAEJCreateTaskServlet:
现在的问题是当我调用这个 url 时,我看到了创建任务的输出,但是在开发控制台中我看不到队列中的任何任务。如果我从两个 servlet 中删除 doPost 函数,那么我会看到队列中的任务,但是当我运行它时,什么也没有发生,任务仍然存在。为什么会这样,我该如何解决这个问题。提前致谢。
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
)。
如何处理身份验证?这是一个服务器应用程序,因此理想情况下我可以生成一个可以从那时起使用的令牌。
c - 更好地锁定共享资源,还是有一个线程来满足请求?
我有一个共享内存池,许多不同的线程可能会从中请求分配。从这个请求分配将在每个线程中发生很多,但是线程的数量可能很小,通常只有 1 个线程在运行。我不确定以下哪种方法更好。
最终,我可能需要同时实现两者,看看哪个会产生更有利的结果……我也担心此时即使考虑 #2 也可能是过早的优化,因为我实际上还没有编写使用此共享资源的代码。但是这个问题实在是太有趣了,以至于它继续分散我对其他工作的注意力。
1)创建一个互斥体并让一个线程在获得分配之前尝试锁定它,然后解锁它。
2)让每个线程注册一个请求槽,当它需要分配时,它将请求放入槽中,然后阻塞(while(result == NULL){usleep()})等待请求槽有结果。单个线程不断迭代请求槽进行分配并将它们分配给请求槽中的结果。
数字 1 是简单的解决方案,但如果时机合适,单个线程可能会占用锁。第二种更复杂,但在从资源中提取时确保线程之间的公平性。但是,它仍然会阻塞请求线程,并且如果有很多线程,迭代可能会在不进行任何实际分配的情况下消耗周期,直到找到要完成的请求。
注意:Linux 上的 C 使用 pthreads
google-app-engine - Google App Engine 任务队列:文件上传时的 DeadlineExceededError
我有一个要上传的大文件。整个请求可能需要超过 30 秒的限制,因此我将其移至任务队列。问题是即使在任务中,我仍然会收到此错误。
我假设这是因为它是上传文件的单个请求,因此不能免受 30 秒的限制。除了使用“后端”解决方案(我认为 App 引擎刚刚添加了这个,但它是一个付费功能,看起来有点复杂)之外,有没有办法绕过这个限制?不幸的是,我无法拆分文件。
编辑:很抱歉造成混乱。通过上传,我的意思是上传到外国服务器。场景是我从数据存储中提取数据并将其上传到 Google Docs 电子表格。将其上传到 Google Docs 的单个请求,即使它在任务队列中,也超过 30 秒并且超时。