0
대기열에서 여러 작업을 실행하려고합니다. 작업은 사용자 입력으로 이루어집니다. 내가 시도한 것은 ThreadPoolExecutor 속성을 가진 싱글 톤 클래스를 만들고 그것에 태스크를 추가하는 것이었다. 작업은 잘 추가되었지만 작업 집합의 첫 번째 추가 만 작동하는 것처럼 보입니다. 다음은 추가되었지만 실행되지 않았습니다.Django 백그라운드 실행 프로그램
class WebsiteTagScrapper:
class __WebsiteTagScrapper:
def __init__(self):
self.executor = ThreadPoolExecutor(max_workers=5)
instance = None
def __new__(cls): # __new__ always a classmethod
if not WebsiteTagScrapper.instance:
WebsiteTagScrapper.instance = WebsiteTagScrapper.__WebsiteTagScrapper()
return WebsiteTagScrapper.instance
MCVE (http://stackoverflow.com/help/mcve)를 게시 할 수 있습니까? 또는 _ 적어도이 것을 코드에서 실제로 사용하는 방법은 무엇입니까? –
또한 Django는 멀티 프로세싱을 사용하거나로드 밸런서 뒤에있는 여러 서버에서 사용되는 경우가 많으므로 "싱글 톤"은 지정된 서버의 특정 프로세스에 대해서만 "싱글"이됩니다. 분명히 프로세스와 서버간에 공유되지 않을 것입니다 ... –
@brunodesthuilliers 오 와우, 잘 알고 있습니다. 내 API 에서이 클래스를 호출하고 인자로 POST에서 입력 URL을 전달 –