狂饮在后台进程中抛出 RejectionException 而不是 ConnectionException

的赏金 [https://stackoverflow.com/help/bounty]11 小时后到期。这个问题的答案有资格获得 50 的声誉奖金。火焰 [/users/1346367/flame]正在寻找一个来自可靠来源的回答. 我有在多个队列工作人员上运行的作业,其中包含一些使用 Guzzle 的 HTTP 请求。然而,这项工作中的尝试捕捉块似乎并没有恢复 GuzzleHttp\Exception\RequestException when I am running these job in the background process. The running process is a php artisan queue:work这是一个 Laravel 队列系统工作人员,用于监控队列并提取作业。 相反,抛出的异常是GuzzleHttp\Promise\RejectionException有消息: > 承诺被拒绝的原因: 卷曲错误 28: 操作超时后 30001 毫秒 0 字节接收 (见Https://curl.haxx.se/libcurl/c/ libcurl-errors.html [htt ……

共5个回答, 标签: php laravel queue background-process guzzle
函数仅由一个线程执行, 而不是多个

我编写了一个巨蟒脚本, 将市场数据导入到 MariaDB 数据库中。为了加快导入速度, 我决定使用模块线程。因此, 首先, 函数使用 urls 填充队列, 从中下载数据并将其导入到我的数据库中。不幸的是, 导入函数似乎只由一个线程而不是许多线程处理。 import queue from threading import Thread num_threads = 4 threads = [] urls = queue.Queue() def create_url(): ... getlist of items ... for row in item_list: url = 'https://someurl=' + str(row[0]) urls.put(url) return urls def import_mo(urls): station_id = 60003760 print(worker.getName()) try: mariadb_connection = mariadb.connec ……

共1个回答, 标签: python mysql multithreading queue