[{"data":1,"prerenderedAt":1709},["ShallowReactive",2],{"navigation_docs_hu":3,"-hu-queue-overview":442,"-hu-queue-overview-surround":1704},[4,45,60,81,112,129,146,173,197,213,242,280,357,373,385,404,430],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":44},"Kezdő lépések","i-lucide-rocket","\u002Fhu\u002Fgetting-started","hu\u002F1.getting-started",[10,15,20,24,29,34,39],{"title":11,"path":12,"stem":13,"icon":14},"Bevezetés","\u002Fhu\u002Fgetting-started\u002Fintroduction","hu\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Laravelből érkezőknek","\u002Fhu\u002Fgetting-started\u002Fcoming-from-laravel","hu\u002F1.getting-started\u002F2.coming-from-laravel","i-lucide-arrow-right-left",{"title":21,"path":22,"stem":23,"icon":19},"Symfonyból érkezőknek","\u002Fhu\u002Fgetting-started\u002Fcoming-from-symfony","hu\u002F1.getting-started\u002F3.coming-from-symfony",{"title":25,"path":26,"stem":27,"icon":28},"Telepítés","\u002Fhu\u002Fgetting-started\u002Finstallation","hu\u002F1.getting-started\u002F4.installation","i-lucide-download",{"title":30,"path":31,"stem":32,"icon":33},"Az első modulod","\u002Fhu\u002Fgetting-started\u002Ffirst-module","hu\u002F1.getting-started\u002F5.first-module","i-lucide-package-plus",{"title":35,"path":36,"stem":37,"icon":38},"Projektstruktúra","\u002Fhu\u002Fgetting-started\u002Fproject-structure","hu\u002F1.getting-started\u002F6.project-structure","i-lucide-folder-tree",{"title":40,"path":41,"stem":42,"icon":43},"A shop mintaalkalmazás","\u002Fhu\u002Fgetting-started\u002Fsample-app","hu\u002F1.getting-started\u002F7.sample-app","i-lucide-shopping-cart",false,{"title":46,"icon":47,"path":48,"stem":49,"children":50,"page":44},"queue","i-lucide-layers","\u002Fhu\u002Fqueue","hu\u002F10.queue",[51,56],{"title":52,"path":53,"stem":54,"icon":55},"Áttekintés","\u002Fhu\u002Fqueue\u002Foverview","hu\u002F10.queue\u002F1.overview","i-lucide-list-ordered",{"title":57,"path":58,"stem":59,"icon":47},"Taskok","\u002Fhu\u002Fqueue\u002Ftasks","hu\u002F10.queue\u002F2.tasks",{"title":61,"icon":62,"path":63,"stem":64,"children":65,"page":44},"events","i-lucide-workflow","\u002Fhu\u002Fevents","hu\u002F11.events",[66,71,76],{"title":67,"path":68,"stem":69,"icon":70},"Események","\u002Fhu\u002Fevents\u002Foverview","hu\u002F11.events\u002F1.overview","i-lucide-radio",{"title":72,"path":73,"stem":74,"icon":75},"Outbox","\u002Fhu\u002Fevents\u002Foutbox","hu\u002F11.events\u002F2.outbox","i-lucide-inbox",{"title":77,"path":78,"stem":79,"icon":80},"Ütemezés","\u002Fhu\u002Fevents\u002Fscheduler","hu\u002F11.events\u002F3.scheduler","i-lucide-calendar-clock",{"title":82,"icon":83,"path":84,"stem":85,"children":86,"page":44},"auth","i-lucide-shield-check","\u002Fhu\u002Fauth","hu\u002F12.auth",[87,92,97,102,107],{"title":88,"path":89,"stem":90,"icon":91},"Autentikáció","\u002Fhu\u002Fauth\u002Foverview","hu\u002F12.auth\u002F1.overview","i-lucide-key-round",{"title":93,"path":94,"stem":95,"icon":96},"RBAC","\u002Fhu\u002Fauth\u002Frbac","hu\u002F12.auth\u002F2.rbac","i-lucide-users",{"title":98,"path":99,"stem":100,"icon":101},"Policy-k","\u002Fhu\u002Fauth\u002Fpolicy","hu\u002F12.auth\u002F3.policy","i-lucide-gavel",{"title":103,"path":104,"stem":105,"icon":106},"Az auth önálló használata","\u002Fhu\u002Fauth\u002Fstandalone","hu\u002F12.auth\u002F4.standalone","i-lucide-plug",{"title":108,"path":109,"stem":110,"icon":111},"Social login goth-tal, önállóan","\u002Fhu\u002Fauth\u002Fsocial-standalone","hu\u002F12.auth\u002F5.social-standalone","i-lucide-log-in",{"title":113,"icon":114,"path":115,"stem":116,"children":117,"page":44},"mail","i-lucide-mail","\u002Fhu\u002Fmail","hu\u002F13.mail",[118,121,125],{"title":52,"path":119,"stem":120,"icon":114},"\u002Fhu\u002Fmail\u002Foverview","hu\u002F13.mail\u002F1.overview",{"title":122,"path":123,"stem":124,"icon":114},"SMTP","\u002Fhu\u002Fmail\u002Fsmtp","hu\u002F13.mail\u002F2.smtp",{"title":126,"path":127,"stem":128,"icon":114},"MJML","\u002Fhu\u002Fmail\u002Fmjml","hu\u002F13.mail\u002F3.mjml",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":44},"notify","i-lucide-bell","\u002Fhu\u002Fnotify","hu\u002F14.notify",[135,138,142],{"title":52,"path":136,"stem":137,"icon":131},"\u002Fhu\u002Fnotify\u002Foverview","hu\u002F14.notify\u002F1.overview",{"title":139,"path":140,"stem":141,"icon":131},"Database csatorna","\u002Fhu\u002Fnotify\u002Fdatabase","hu\u002F14.notify\u002F2.database",{"title":143,"path":144,"stem":145,"icon":131},"Broadcast csatorna","\u002Fhu\u002Fnotify\u002Fbroadcast","hu\u002F14.notify\u002F3.broadcast",{"title":147,"icon":148,"path":149,"stem":150,"children":151,"page":44},"storage","i-lucide-hard-drive","\u002Fhu\u002Fstorage","hu\u002F15.storage",[152,155,159,163,168],{"title":52,"path":153,"stem":154,"icon":148},"\u002Fhu\u002Fstorage\u002Foverview","hu\u002F15.storage\u002F1.overview",{"title":156,"path":157,"stem":158},"Disk API","\u002Fhu\u002Fstorage\u002Fdisk-api","hu\u002F15.storage\u002F2.disk-api",{"title":160,"path":161,"stem":162,"icon":148},"Memória és helyi lemez","\u002Fhu\u002Fstorage\u002Flocal","hu\u002F15.storage\u002F3.local",{"title":164,"path":165,"stem":166,"icon":167},"S3","\u002Fhu\u002Fstorage\u002Fs3","hu\u002F15.storage\u002F4.s3","i-lucide-cloud",{"title":169,"path":170,"stem":171,"icon":172},"Tesztelés","\u002Fhu\u002Fstorage\u002Ftesting","hu\u002F15.storage\u002F5.testing","i-lucide-flask-conical",{"title":174,"icon":175,"path":176,"stem":177,"children":178,"page":44},"telemetry","i-lucide-activity","\u002Fhu\u002Ftelemetry","hu\u002F16.telemetry",[179,182,187,192],{"title":52,"path":180,"stem":181,"icon":175},"\u002Fhu\u002Ftelemetry\u002Foverview","hu\u002F16.telemetry\u002F1.overview",{"title":183,"path":184,"stem":185,"icon":186},"Logolás","\u002Fhu\u002Ftelemetry\u002Flogging","hu\u002F16.telemetry\u002F2.logging","i-lucide-scroll-text",{"title":188,"path":189,"stem":190,"icon":191},"OpenTelemetry","\u002Fhu\u002Ftelemetry\u002Fopentelemetry","hu\u002F16.telemetry\u002F3.opentelemetry","i-lucide-radar",{"title":193,"path":194,"stem":195,"icon":196},"Sentry","\u002Fhu\u002Ftelemetry\u002Fsentry","hu\u002F16.telemetry\u002F4.sentry","i-lucide-bug",{"title":198,"icon":199,"path":200,"stem":201,"children":202,"page":44},"Referencia","i-lucide-book-open","\u002Fhu\u002Freference","hu\u002F17.reference",[203,208],{"title":204,"path":205,"stem":206,"icon":207},"Konfiguráció","\u002Fhu\u002Freference\u002Fconfiguration","hu\u002F17.reference\u002F1.configuration","i-lucide-settings",{"title":209,"path":210,"stem":211,"icon":212},"Külső függőségek","\u002Fhu\u002Freference\u002Fdependencies","hu\u002F17.reference\u002F2.dependencies","i-lucide-package",{"title":214,"icon":215,"path":216,"stem":217,"children":218,"page":44},"Koncepciók","i-lucide-lightbulb","\u002Fhu\u002Fconcepts","hu\u002F2.concepts",[219,223,228,232,237],{"title":220,"path":221,"stem":222,"icon":47},"Architektúra","\u002Fhu\u002Fconcepts\u002Farchitecture","hu\u002F2.concepts\u002F1.architecture",{"title":224,"path":225,"stem":226,"icon":227},"Hibamodell","\u002Fhu\u002Fconcepts\u002Ferror-model","hu\u002F2.concepts\u002F2.error-model","i-lucide-shield-alert",{"title":204,"path":229,"stem":230,"icon":231},"\u002Fhu\u002Fconcepts\u002Fconfiguration","hu\u002F2.concepts\u002F3.configuration","i-lucide-settings-2",{"title":233,"path":234,"stem":235,"icon":236},"Codegen pipeline","\u002Fhu\u002Fconcepts\u002Fcodegen-pipeline","hu\u002F2.concepts\u002F4.codegen-pipeline","i-lucide-file-json",{"title":238,"path":239,"stem":240,"icon":241},"Design patternek","\u002Fhu\u002Fconcepts\u002Fdesign-patterns","hu\u002F2.concepts\u002F5.design-patterns","i-lucide-puzzle",{"title":243,"icon":244,"path":245,"stem":246,"children":247,"page":44},"A kit","i-lucide-box","\u002Fhu\u002Fkit","hu\u002F3.kit",[248,252,257,262,267,271,276],{"title":249,"path":250,"stem":251,"icon":244},"A kit áttekintése","\u002Fhu\u002Fkit\u002Foverview","hu\u002F3.kit\u002F1.overview",{"title":253,"path":254,"stem":255,"icon":256},"Alkalmazás-életciklus","\u002Fhu\u002Fkit\u002Fapp","hu\u002F3.kit\u002F2.app","i-lucide-power",{"title":258,"path":259,"stem":260,"icon":261},"Szerver","\u002Fhu\u002Fkit\u002Fserver","hu\u002F3.kit\u002F3.server","i-lucide-server",{"title":263,"path":264,"stem":265,"icon":266},"Worker","\u002Fhu\u002Fkit\u002Fworker","hu\u002F3.kit\u002F4.worker","i-lucide-cog",{"title":268,"path":269,"stem":270,"icon":70},"Realtime","\u002Fhu\u002Fkit\u002Frealtime","hu\u002F3.kit\u002F5.realtime",{"title":272,"path":273,"stem":274,"icon":275},"Migrációk","\u002Fhu\u002Fkit\u002Fmigrations","hu\u002F3.kit\u002F6.migrations","i-lucide-file-stack",{"title":277,"path":278,"stem":279,"icon":111},"Social login","\u002Fhu\u002Fkit\u002Fsocial-login","hu\u002F3.kit\u002F7.social-login",{"title":281,"icon":282,"path":283,"stem":284,"children":285,"page":44},"CLI referencia","i-lucide-terminal","\u002Fhu\u002Fcli","hu\u002F4.cli",[286,289,294,299,304,309,314,319,324,329,334,338,343,348,352],{"title":52,"path":287,"stem":288,"icon":282},"\u002Fhu\u002Fcli\u002Foverview","hu\u002F4.cli\u002F1.overview",{"title":290,"path":291,"stem":292,"icon":293},"add db","\u002Fhu\u002Fcli\u002Fadd-db","hu\u002F4.cli\u002F10.add-db","i-lucide-database-zap",{"title":295,"path":296,"stem":297,"icon":298},"add compose \u002F add docker","\u002Fhu\u002Fcli\u002Fadd-compose","hu\u002F4.cli\u002F11.add-compose","i-lucide-container",{"title":300,"path":301,"stem":302,"icon":303},"add mail","\u002Fhu\u002Fcli\u002Fadd-mail","hu\u002F4.cli\u002F12.add-mail","i-lucide-mail-plus",{"title":305,"path":306,"stem":307,"icon":308},"add notification","\u002Fhu\u002Fcli\u002Fadd-notification","hu\u002F4.cli\u002F13.add-notification","i-lucide-bell-plus",{"title":310,"path":311,"stem":312,"icon":313},"add realtime","\u002Fhu\u002Fcli\u002Fadd-realtime","hu\u002F4.cli\u002F14.add-realtime","i-lucide-radio-tower",{"title":315,"path":316,"stem":317,"icon":318},"add seeder","\u002Fhu\u002Fcli\u002Fadd-seeder","hu\u002F4.cli\u002F15.add-seeder","i-lucide-sprout",{"title":320,"path":321,"stem":322,"icon":323},"new project","\u002Fhu\u002Fcli\u002Fnew-project","hu\u002F4.cli\u002F2.new-project","i-lucide-folder-plus",{"title":325,"path":326,"stem":327,"icon":328},"new module","\u002Fhu\u002Fcli\u002Fnew-module","hu\u002F4.cli\u002F3.new-module","i-lucide-blocks",{"title":330,"path":331,"stem":332,"icon":333},"add surface","\u002Fhu\u002Fcli\u002Fadd-surface","hu\u002F4.cli\u002F4.add-surface","i-lucide-layers-2",{"title":335,"path":336,"stem":337,"icon":244},"add core","\u002Fhu\u002Fcli\u002Fadd-core","hu\u002F4.cli\u002F5.add-core",{"title":339,"path":340,"stem":341,"icon":342},"add handler","\u002Fhu\u002Fcli\u002Fadd-handler","hu\u002F4.cli\u002F6.add-handler","i-lucide-webhook",{"title":344,"path":345,"stem":346,"icon":347},"new migration","\u002Fhu\u002Fcli\u002Fnew-migration","hu\u002F4.cli\u002F7.new-migration","i-lucide-file-plus",{"title":349,"path":350,"stem":351,"icon":266},"worker generátorok","\u002Fhu\u002Fcli\u002Fworker-generators","hu\u002F4.cli\u002F8.worker-generators",{"title":353,"path":354,"stem":355,"icon":356},"upgrade templates","\u002Fhu\u002Fcli\u002Fupgrade-templates","hu\u002F4.cli\u002F9.upgrade-templates","i-lucide-refresh-cw",{"title":358,"icon":227,"path":359,"stem":360,"children":361,"page":44},"errs","\u002Fhu\u002Ferrs","hu\u002F5.errs",[362,365,369],{"title":52,"path":363,"stem":364,"icon":227},"\u002Fhu\u002Ferrs\u002Foverview","hu\u002F5.errs\u002F1.overview",{"title":366,"path":367,"stem":368},"API","\u002Fhu\u002Ferrs\u002Fapi","hu\u002F5.errs\u002F2.api",{"title":370,"path":371,"stem":372,"icon":227},"Integráció","\u002Fhu\u002Ferrs\u002Fintegration","hu\u002F5.errs\u002F3.integration",{"title":374,"icon":231,"path":375,"stem":376,"children":377,"page":44},"envconf","\u002Fhu\u002Fenvconf","hu\u002F6.envconf",[378,381],{"title":52,"path":379,"stem":380,"icon":231},"\u002Fhu\u002Fenvconf\u002Foverview","hu\u002F6.envconf\u002F1.overview",{"title":382,"path":383,"stem":384},"Receptek","\u002Fhu\u002Fenvconf\u002Frecipes","hu\u002F6.envconf\u002F2.recipes",{"title":386,"icon":387,"path":388,"stem":389,"children":390,"page":44},"httperr","i-lucide-globe","\u002Fhu\u002Fhttperr","hu\u002F7.httperr",[391,394,399],{"title":52,"path":392,"stem":393,"icon":387},"\u002Fhu\u002Fhttperr\u002Foverview","hu\u002F7.httperr\u002F1.overview",{"title":395,"path":396,"stem":397,"icon":398},"Hibaválaszok","\u002Fhu\u002Fhttperr\u002Ferror-responses","hu\u002F7.httperr\u002F2.error-responses","i-lucide-octagon-alert",{"title":400,"path":401,"stem":402,"icon":403},"Validáció","\u002Fhu\u002Fhttperr\u002Fvalidation","hu\u002F7.httperr\u002F3.validation","i-lucide-badge-check",{"title":405,"icon":406,"path":407,"stem":408,"children":409,"page":44},"dbx","i-lucide-database","\u002Fhu\u002Fdbx","hu\u002F8.dbx",[410,413,417,421,426],{"title":52,"path":411,"stem":412,"icon":406},"\u002Fhu\u002Fdbx\u002Foverview","hu\u002F8.dbx\u002F1.overview",{"title":414,"path":415,"stem":416,"icon":106},"pgx","\u002Fhu\u002Fdbx\u002Fpg","hu\u002F8.dbx\u002F2.pg",{"title":418,"path":419,"stem":420,"icon":47},"bun","\u002Fhu\u002Fdbx\u002Fbunx","hu\u002F8.dbx\u002F3.bunx",{"title":422,"path":423,"stem":424,"icon":425},"Tranzakciók","\u002Fhu\u002Fdbx\u002Ftransactions","hu\u002F8.dbx\u002F4.transactions","i-lucide-git-merge",{"title":427,"path":428,"stem":429,"icon":318},"Seederek","\u002Fhu\u002Fdbx\u002Fseed","hu\u002F8.dbx\u002F5.seed",{"title":431,"icon":55,"path":432,"stem":433,"children":434,"page":44},"paginate","\u002Fhu\u002Fpaginate","hu\u002F9.paginate",[435,438],{"title":52,"path":436,"stem":437,"icon":55},"\u002Fhu\u002Fpaginate\u002Foverview","hu\u002F9.paginate\u002F1.overview",{"title":439,"path":440,"stem":441,"icon":19},"Cursor-lapozás","\u002Fhu\u002Fpaginate\u002Fcursor","hu\u002F9.paginate\u002F2.cursor",{"id":443,"title":52,"body":444,"description":1697,"extension":1698,"links":1699,"meta":1700,"navigation":1701,"path":53,"seo":1702,"stem":54,"__hash__":1703},"docs_hu\u002Fhu\u002F10.queue\u002F1.overview.md",{"type":445,"value":446,"toc":1690},"minimark",[447,485,513,525,547,551,583,609,612,618,666,738,741,764,778,782,902,923,933,966,1085,1109,1113,1118,1661,1665,1686],[448,449,450,451,454,455,458,459,463,464,463,467,470,471,474,475,481,482,484],"p",{},"A ",[452,453,46],"code",{}," egy önálló Go modul (",[452,456,457],{},"github.com\u002Fgp-system\u002Fqueue","): a Valkey\u002Fasynq alapréteg, amire az async kategória minden további tagja épül: az ",[460,461,462],"a",{"href":68},"események",", az ",[460,465,466],{"href":73},"outbox",[460,468,469],{"href":78},"ütemezés"," és a kit ",[460,472,473],{"href":264},"worker"," chassisa. Egy helyen fogja össze a connection-konfigot és a task-beküldést; a szerver oldala az ",[460,476,480],{"href":477,"rel":478},"https:\u002F\u002Fgithub.com\u002Fhibiken\u002Fasynq",[479],"nofollow","asynq",", ami a worker-feldolgozást és a monitorozást adja. A felsőbb szintű opciókat, az event-borítékot és a task-típus-elnevezést a következő oldal, a ",[460,483,57],{"href":58}," tárgyalja; ez az oldal a kapcsolódás és a beküldés szintjén marad.",[486,487,492],"pre",{"className":488,"code":489,"language":490,"meta":491,"style":491},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import \"github.com\u002Fgp-system\u002Fqueue\"\n","go","",[452,493,494],{"__ignoreMap":491},[495,496,499,503,507,510],"span",{"class":497,"line":498},"line",1,[495,500,502],{"class":501},"s7zQu","import",[495,504,506],{"class":505},"sMK4o"," \"",[495,508,457],{"class":509},"sBMFI",[495,511,512],{"class":505},"\"\n",[448,514,515,516,520,521,524],{},"A mindennapokban ritkán hívod közvetlenül: az eventeket a ",[460,517,519],{"href":518},"\u002Fhu\u002Fevents\u002Foverview#dispatch","dispatcher",", a jobokat az ",[460,522,523],{"href":78},"ütemező"," viszi a queue-ba. De az itteni fogalmak (config, kliens, a boríték a következő oldalon) köszönnek vissza minden felsőbb rétegben, ezért érdemes itt kezdeni.",[526,527,450,528,530,531,535,536,539,540,539,543,546],"note",{},[452,529,46],{}," ",[532,533,534],"strong",{},"centralizál, nem absztrahál",": az asynq típusai (",[452,537,538],{},"*asynq.Task",", ",[452,541,542],{},"*asynq.TaskInfo",[452,544,545],{},"asynq.Option",") látszanak a publikus API-ban. Ha az event\u002Fscheduler réteg nem illik a feladatra, az alkalmazáskód ugyanezen a kliensen át nyugodtan használhatja az asynq-ot közvetlenül. Mivel semmi nincs elrejtve, az asynq ökoszisztéma eszközei (pl. az Asynqmon webes UI, a Horizon dashboard megfelelője) ugyanarra a Valkeyre kötve azonnal működnek.",[548,549,25],"h2",{"id":550},"telepítés",[486,552,556],{"className":553,"code":554,"language":555,"meta":491,"style":491},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","go get github.com\u002Fgp-system\u002Fqueue@v0.1.0 # a kit is ezt a taget használja\ngo get github.com\u002Fgp-system\u002Fqueue@latest\n","sh",[452,557,558,573],{"__ignoreMap":491},[495,559,560,562,566,569],{"class":497,"line":498},[495,561,490],{"class":509},[495,563,565],{"class":564},"sfazB"," get",[495,567,568],{"class":564}," github.com\u002Fgp-system\u002Fqueue@v0.1.0",[495,570,572],{"class":571},"sHwdD"," # a kit is ezt a taget használja\n",[495,574,576,578,580],{"class":497,"line":575},2,[495,577,490],{"class":509},[495,579,565],{"class":564},[495,581,582],{"class":564}," github.com\u002Fgp-system\u002Fqueue@latest\n",[448,584,585,586,588,589,593,594,600,601,608],{},"Go 1.25+. A ",[452,587,46],{}," az ",[460,590,591],{"href":363},[452,592,358],{},"-től, a ",[460,595,597],{"href":477,"rel":596},[479],[452,598,599],{},"hibiken\u002Fasynq","-tól és a ",[460,602,605],{"href":603,"rel":604},"https:\u002F\u002Fgithub.com\u002Fredis\u002Fgo-redis",[479],[452,606,607],{},"redis\u002Fgo-redis\u002Fv9","-től függ, plusz az OTel tracing API-jától a producer span miatt.",[548,610,204],{"id":611},"konfiguráció",[448,613,450,614,617],{},[452,615,616],{},"queue.Config"," az egyetlen Valkey-kapcsolatleírás: a kliens, a worker, az ütemező és az outbox relay is ezt kapja. Prefix alá komponálva használd:",[486,619,621],{"className":488,"code":620,"language":490,"meta":491,"style":491},"type Config struct {\n    Valkey queue.Config `envPrefix:\"VALKEY_\"`\n}\n",[452,622,623,637,660],{"__ignoreMap":491},[495,624,625,628,631,634],{"class":497,"line":498},[495,626,627],{"class":505},"type",[495,629,630],{"class":509}," Config",[495,632,633],{"class":505}," struct",[495,635,636],{"class":505}," {\n",[495,638,639,643,645,648,651,654,657],{"class":497,"line":575},[495,640,642],{"class":641},"sTEyZ","    Valkey ",[495,644,46],{"class":509},[495,646,647],{"class":505},".",[495,649,650],{"class":509},"Config",[495,652,653],{"class":505}," `",[495,655,656],{"class":564},"envPrefix:\"VALKEY_\"",[495,658,659],{"class":505},"`\n",[495,661,663],{"class":497,"line":662},3,[495,664,665],{"class":505},"}\n",[667,668,669,685],"table",{},[670,671,672],"thead",{},[673,674,675,679,682],"tr",{},[676,677,678],"th",{},"Változó",[676,680,681],{},"Default",[676,683,684],{},"Jelentés",[686,687,688,707,723],"tbody",{},[673,689,690,696,701],{},[691,692,693],"td",{},[452,694,695],{},"VALKEY_ADDR",[691,697,698],{},[452,699,700],{},"localhost:6379",[691,702,703,704],{},"Valkey ",[452,705,706],{},"host:port",[673,708,709,714,720],{},[691,710,711],{},[452,712,713],{},"VALKEY_PASSWORD",[691,715,716],{},[717,718,719],"em",{},"(üres)",[691,721,722],{},"jelszó; üresen nincs auth",[673,724,725,730,735],{},[691,726,727],{},[452,728,729],{},"VALKEY_DB",[691,731,732],{},[452,733,734],{},"0",[691,736,737],{},"logikai Valkey-adatbázis",[448,739,740],{},"A configból két irányba nyílik kapcsolat, mindkét library ugyanabból az egy forrásból konfigurálódik:",[742,743,744,755],"ul",{},[745,746,747,750,751,754],"li",{},[452,748,749],{},"cfg.ValkeyConnOpt()"," → ",[452,752,753],{},"asynq.RedisClientOpt"," (asynq kliens, szerver, scheduler),",[745,756,757,750,760,763],{},[452,758,759],{},"cfg.ValkeyOptions()",[452,761,762],{},"*redis.Options"," (közvetlen go-redis hívások, pl. az ütemező lease-e).",[448,765,450,766,773,774,777],{},[460,767,769,770,772],{"href":768},"\u002Fhu\u002Fkit\u002Fworker#konfigur%C3%A1ci%C3%B3","worker ",[452,771,650],{},"-ja"," már tartalmazza ",[452,775,776],{},"VALKEY_"," prefixszel. A generált projektben külön bedrótozni nem kell.",[548,779,781],{"id":780},"client","Client",[486,783,785],{"className":488,"code":784,"language":490,"meta":491,"style":491},"client, err := queue.NewClient(ctx, cfg.Valkey)   \u002F\u002F vagy queue.MustNewClient main()-ben\ndefer client.Close()\n\ninfo, err := client.Enqueue(ctx, task, queue.OnQueue(\"mail\"))\n",[452,786,787,831,847,853],{"__ignoreMap":491},[495,788,789,791,794,797,800,803,805,809,812,815,817,820,822,825,828],{"class":497,"line":498},[495,790,780],{"class":641},[495,792,793],{"class":505},",",[495,795,796],{"class":641}," err ",[495,798,799],{"class":505},":=",[495,801,802],{"class":641}," queue",[495,804,647],{"class":505},[495,806,808],{"class":807},"s2Zo4","NewClient",[495,810,811],{"class":505},"(",[495,813,814],{"class":641},"ctx",[495,816,793],{"class":505},[495,818,819],{"class":641}," cfg",[495,821,647],{"class":505},[495,823,824],{"class":641},"Valkey",[495,826,827],{"class":505},")",[495,829,830],{"class":571},"   \u002F\u002F vagy queue.MustNewClient main()-ben\n",[495,832,833,836,839,841,844],{"class":497,"line":575},[495,834,835],{"class":501},"defer",[495,837,838],{"class":641}," client",[495,840,647],{"class":505},[495,842,843],{"class":807},"Close",[495,845,846],{"class":505},"()\n",[495,848,849],{"class":497,"line":662},[495,850,852],{"emptyLinePlaceholder":851},true,"\n",[495,854,856,859,861,863,865,867,869,872,874,876,878,881,883,885,887,890,892,895,897,899],{"class":497,"line":855},4,[495,857,858],{"class":641},"info",[495,860,793],{"class":505},[495,862,796],{"class":641},[495,864,799],{"class":505},[495,866,838],{"class":641},[495,868,647],{"class":505},[495,870,871],{"class":807},"Enqueue",[495,873,811],{"class":505},[495,875,814],{"class":641},[495,877,793],{"class":505},[495,879,880],{"class":641}," task",[495,882,793],{"class":505},[495,884,802],{"class":641},[495,886,647],{"class":505},[495,888,889],{"class":807},"OnQueue",[495,891,811],{"class":505},[495,893,894],{"class":505},"\"",[495,896,113],{"class":564},[495,898,894],{"class":505},[495,900,901],{"class":505},"))\n",[448,903,450,904,906,907,910,911,914,915,918,919,922],{},[452,905,808],{}," megnyitja a Valkey-kapcsolatot, és ",[532,908,909],{},"konstruáláskor PING-gel ellenőrzi",": ugyanaz a konvenció, mint a ",[452,912,913],{},"pg.NewPool","-nál, a rossz cím induláskor bukik, nem az első enqueue-nál. A ",[452,916,917],{},"MustNewClient"," a panikoló változat ",[452,920,921],{},"main()","-be.",[448,924,925,926,929,930,932],{},"Az ",[452,927,928],{},"Enqueue(ctx, *asynq.Task, opts...)"," beadja a taskot a Valkeybe, és ",[452,931,542],{},"-t ad vissza. Két dolgot tesz hozzá a nyers asynq-hoz:",[742,934,935,950],{},[745,936,937,940,941,944,945,949],{},[532,938,939],{},"Producer span",": minden enqueue OpenTelemetry spant nyit (",[452,942,943],{},"enqueue \u003Ctask-type>","), így a queue-ba adás látszik a trace-ben (lásd ",[460,946,948],{"href":947},"\u002Fhu\u002Fqueue\u002Ftasks#trace-propag%C3%A1ci%C3%B3-a-queue-n-%C3%A1t","trace-propagáció"," a következő oldalon).",[745,951,952,957,958,961,962,965],{},[532,953,954],{},[452,955,956],{},"queue.ErrDuplicate",": ha egy ",[452,959,960],{},"TaskID"," vagy ",[452,963,964],{},"Unique"," megkötés miatt a task már bent van, az asynq kétféle hibája helyett egyetlen szentinel hibát kapsz. Az idempotens kézbesítésre építő hívók (outbox relay, event fan-out) ezt sikernek tekintik:",[486,967,969],{"className":488,"code":968,"language":490,"meta":491,"style":491},"if _, err := client.Enqueue(ctx, task, queue.TaskID(id)); err != nil {\n    if errors.Is(err, queue.ErrDuplicate) {\n        return nil \u002F\u002F már bent van, pont ezt akartuk\n    }\n    return err\n}\n",[452,970,971,1025,1056,1066,1071,1080],{"__ignoreMap":491},[495,972,973,976,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1012,1015,1017,1020,1023],{"class":497,"line":498},[495,974,975],{"class":501},"if",[495,977,978],{"class":641}," _",[495,980,793],{"class":505},[495,982,796],{"class":641},[495,984,799],{"class":505},[495,986,838],{"class":641},[495,988,647],{"class":505},[495,990,871],{"class":807},[495,992,811],{"class":505},[495,994,814],{"class":641},[495,996,793],{"class":505},[495,998,880],{"class":641},[495,1000,793],{"class":505},[495,1002,802],{"class":641},[495,1004,647],{"class":505},[495,1006,960],{"class":807},[495,1008,811],{"class":505},[495,1010,1011],{"class":641},"id",[495,1013,1014],{"class":505},"));",[495,1016,796],{"class":641},[495,1018,1019],{"class":505},"!=",[495,1021,1022],{"class":505}," nil",[495,1024,636],{"class":505},[495,1026,1027,1030,1033,1035,1038,1040,1043,1045,1047,1049,1052,1054],{"class":497,"line":575},[495,1028,1029],{"class":501},"    if",[495,1031,1032],{"class":641}," errors",[495,1034,647],{"class":505},[495,1036,1037],{"class":807},"Is",[495,1039,811],{"class":505},[495,1041,1042],{"class":641},"err",[495,1044,793],{"class":505},[495,1046,802],{"class":641},[495,1048,647],{"class":505},[495,1050,1051],{"class":641},"ErrDuplicate",[495,1053,827],{"class":505},[495,1055,636],{"class":505},[495,1057,1058,1061,1063],{"class":497,"line":662},[495,1059,1060],{"class":501},"        return",[495,1062,1022],{"class":505},[495,1064,1065],{"class":571}," \u002F\u002F már bent van, pont ezt akartuk\n",[495,1067,1068],{"class":497,"line":855},[495,1069,1070],{"class":505},"    }\n",[495,1072,1074,1077],{"class":497,"line":1073},5,[495,1075,1076],{"class":501},"    return",[495,1078,1079],{"class":641}," err\n",[495,1081,1083],{"class":497,"line":1082},6,[495,1084,665],{"class":505},[448,1086,450,1087,1090,1091,1093,1094,1096,1097,539,1099,539,1102,1104,1105,1108],{},[452,1088,1089],{},"Close()"," a megosztott Valkey-kapcsolatot zárja (az asynq kliens ebből épül, és nem birtokolja). A ",[460,1092,473],{"href":264}," ezt a shutdown-sorrend részeként magától megteszi. Az ",[452,1095,871],{}," további opcióit (",[452,1098,889],{},[452,1100,1101],{},"MaxRetry",[452,1103,964],{},", ...) a ",[460,1106,57],{"href":1107},"\u002Fhu\u002Fqueue\u002Ftasks#enqueue-opci%C3%B3k"," oldal tárgyalja, a borítékkal és a task-típus-elnevezéssel együtt, amik erre a kliensre épülnek.",[548,1110,1112],{"id":1111},"önálló-példa","Önálló példa",[448,1114,450,1115,1117],{},[452,1116,46],{},"-hoz semmi nem kell a kitből: egy kliens, egy task és egy minimális asynq szerver elég ahhoz, hogy végig lásd a munkát.",[486,1119,1122],{"className":488,"code":1120,"filename":1121,"language":490,"meta":491,"style":491},"package main\n\nimport (\n    \"context\"\n    \"log\"\n\n    \"github.com\u002Fgp-system\u002Fqueue\"\n    \"github.com\u002Fhibiken\u002Fasynq\"\n)\n\nfunc main() {\n    ctx := context.Background()\n    cfg := queue.Config{Addr: \"localhost:6379\"}\n\n    client := queue.MustNewClient(ctx, cfg)\n    defer client.Close()\n\n    task := asynq.NewTask(\"email:welcome\", []byte(`{\"user_id\":\"u_1\"}`))\n    if _, err := client.Enqueue(ctx, task, queue.OnQueue(\"mail\")); err != nil {\n        log.Fatal(err)\n    }\n\n    srv := asynq.NewServer(cfg.ValkeyConnOpt(), asynq.Config{Concurrency: 5})\n    mux := asynq.NewServeMux()\n    mux.HandleFunc(\"email:welcome\", func(ctx context.Context, t *asynq.Task) error {\n        log.Printf(\"üdvözlő email küldése: %s\", t.Payload())\n        return nil\n    })\n    if err := srv.Run(mux); err != nil {\n        log.Fatal(err)\n    }\n}\n","main.go",[452,1123,1124,1132,1136,1143,1153,1162,1166,1175,1185,1191,1196,1210,1228,1259,1264,1288,1302,1307,1353,1406,1423,1428,1433,1481,1498,1554,1589,1597,1603,1636,1651,1656],{"__ignoreMap":491},[495,1125,1126,1129],{"class":497,"line":498},[495,1127,1128],{"class":505},"package",[495,1130,1131],{"class":509}," main\n",[495,1133,1134],{"class":497,"line":575},[495,1135,852],{"emptyLinePlaceholder":851},[495,1137,1138,1140],{"class":497,"line":662},[495,1139,502],{"class":501},[495,1141,1142],{"class":505}," (\n",[495,1144,1145,1148,1151],{"class":497,"line":855},[495,1146,1147],{"class":505},"    \"",[495,1149,1150],{"class":509},"context",[495,1152,512],{"class":505},[495,1154,1155,1157,1160],{"class":497,"line":1073},[495,1156,1147],{"class":505},[495,1158,1159],{"class":509},"log",[495,1161,512],{"class":505},[495,1163,1164],{"class":497,"line":1082},[495,1165,852],{"emptyLinePlaceholder":851},[495,1167,1169,1171,1173],{"class":497,"line":1168},7,[495,1170,1147],{"class":505},[495,1172,457],{"class":509},[495,1174,512],{"class":505},[495,1176,1178,1180,1183],{"class":497,"line":1177},8,[495,1179,1147],{"class":505},[495,1181,1182],{"class":509},"github.com\u002Fhibiken\u002Fasynq",[495,1184,512],{"class":505},[495,1186,1188],{"class":497,"line":1187},9,[495,1189,1190],{"class":505},")\n",[495,1192,1194],{"class":497,"line":1193},10,[495,1195,852],{"emptyLinePlaceholder":851},[495,1197,1199,1202,1205,1208],{"class":497,"line":1198},11,[495,1200,1201],{"class":505},"func",[495,1203,1204],{"class":807}," main",[495,1206,1207],{"class":505},"()",[495,1209,636],{"class":505},[495,1211,1213,1216,1218,1221,1223,1226],{"class":497,"line":1212},12,[495,1214,1215],{"class":641},"    ctx ",[495,1217,799],{"class":505},[495,1219,1220],{"class":641}," context",[495,1222,647],{"class":505},[495,1224,1225],{"class":807},"Background",[495,1227,846],{"class":505},[495,1229,1231,1234,1236,1238,1240,1242,1245,1248,1251,1253,1255,1257],{"class":497,"line":1230},13,[495,1232,1233],{"class":641},"    cfg ",[495,1235,799],{"class":505},[495,1237,802],{"class":509},[495,1239,647],{"class":505},[495,1241,650],{"class":509},[495,1243,1244],{"class":505},"{",[495,1246,1247],{"class":641},"Addr",[495,1249,1250],{"class":505},":",[495,1252,506],{"class":505},[495,1254,700],{"class":564},[495,1256,894],{"class":505},[495,1258,665],{"class":505},[495,1260,1262],{"class":497,"line":1261},14,[495,1263,852],{"emptyLinePlaceholder":851},[495,1265,1267,1270,1272,1274,1276,1278,1280,1282,1284,1286],{"class":497,"line":1266},15,[495,1268,1269],{"class":641},"    client ",[495,1271,799],{"class":505},[495,1273,802],{"class":641},[495,1275,647],{"class":505},[495,1277,917],{"class":807},[495,1279,811],{"class":505},[495,1281,814],{"class":641},[495,1283,793],{"class":505},[495,1285,819],{"class":641},[495,1287,1190],{"class":505},[495,1289,1291,1294,1296,1298,1300],{"class":497,"line":1290},16,[495,1292,1293],{"class":501},"    defer",[495,1295,838],{"class":641},[495,1297,647],{"class":505},[495,1299,843],{"class":807},[495,1301,846],{"class":505},[495,1303,1305],{"class":497,"line":1304},17,[495,1306,852],{"emptyLinePlaceholder":851},[495,1308,1310,1313,1315,1318,1320,1323,1325,1327,1330,1332,1334,1337,1341,1343,1346,1349,1351],{"class":497,"line":1309},18,[495,1311,1312],{"class":641},"    task ",[495,1314,799],{"class":505},[495,1316,1317],{"class":641}," asynq",[495,1319,647],{"class":505},[495,1321,1322],{"class":807},"NewTask",[495,1324,811],{"class":505},[495,1326,894],{"class":505},[495,1328,1329],{"class":564},"email:welcome",[495,1331,894],{"class":505},[495,1333,793],{"class":505},[495,1335,1336],{"class":505}," []",[495,1338,1340],{"class":1339},"spNyl","byte",[495,1342,811],{"class":505},[495,1344,1345],{"class":505},"`",[495,1347,1348],{"class":564},"{\"user_id\":\"u_1\"}",[495,1350,1345],{"class":505},[495,1352,901],{"class":505},[495,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404],{"class":497,"line":1355},19,[495,1357,1029],{"class":501},[495,1359,978],{"class":641},[495,1361,793],{"class":505},[495,1363,796],{"class":641},[495,1365,799],{"class":505},[495,1367,838],{"class":641},[495,1369,647],{"class":505},[495,1371,871],{"class":807},[495,1373,811],{"class":505},[495,1375,814],{"class":641},[495,1377,793],{"class":505},[495,1379,880],{"class":641},[495,1381,793],{"class":505},[495,1383,802],{"class":641},[495,1385,647],{"class":505},[495,1387,889],{"class":807},[495,1389,811],{"class":505},[495,1391,894],{"class":505},[495,1393,113],{"class":564},[495,1395,894],{"class":505},[495,1397,1014],{"class":505},[495,1399,796],{"class":641},[495,1401,1019],{"class":505},[495,1403,1022],{"class":505},[495,1405,636],{"class":505},[495,1407,1409,1412,1414,1417,1419,1421],{"class":497,"line":1408},20,[495,1410,1411],{"class":641},"        log",[495,1413,647],{"class":505},[495,1415,1416],{"class":807},"Fatal",[495,1418,811],{"class":505},[495,1420,1042],{"class":641},[495,1422,1190],{"class":505},[495,1424,1426],{"class":497,"line":1425},21,[495,1427,1070],{"class":505},[495,1429,1431],{"class":497,"line":1430},22,[495,1432,852],{"emptyLinePlaceholder":851},[495,1434,1436,1439,1441,1443,1445,1448,1450,1453,1455,1458,1461,1463,1465,1467,1469,1472,1474,1478],{"class":497,"line":1435},23,[495,1437,1438],{"class":641},"    srv ",[495,1440,799],{"class":505},[495,1442,1317],{"class":641},[495,1444,647],{"class":505},[495,1446,1447],{"class":807},"NewServer",[495,1449,811],{"class":505},[495,1451,1452],{"class":641},"cfg",[495,1454,647],{"class":505},[495,1456,1457],{"class":807},"ValkeyConnOpt",[495,1459,1460],{"class":505},"(),",[495,1462,1317],{"class":509},[495,1464,647],{"class":505},[495,1466,650],{"class":509},[495,1468,1244],{"class":505},[495,1470,1471],{"class":641},"Concurrency",[495,1473,1250],{"class":505},[495,1475,1477],{"class":1476},"sbssI"," 5",[495,1479,1480],{"class":505},"})\n",[495,1482,1484,1487,1489,1491,1493,1496],{"class":497,"line":1483},24,[495,1485,1486],{"class":641},"    mux ",[495,1488,799],{"class":505},[495,1490,1317],{"class":641},[495,1492,647],{"class":505},[495,1494,1495],{"class":807},"NewServeMux",[495,1497,846],{"class":505},[495,1499,1501,1504,1506,1509,1511,1513,1515,1517,1519,1522,1525,1527,1529,1532,1534,1537,1540,1542,1544,1547,1549,1552],{"class":497,"line":1500},25,[495,1502,1503],{"class":641},"    mux",[495,1505,647],{"class":505},[495,1507,1508],{"class":807},"HandleFunc",[495,1510,811],{"class":505},[495,1512,894],{"class":505},[495,1514,1329],{"class":564},[495,1516,894],{"class":505},[495,1518,793],{"class":505},[495,1520,1521],{"class":505}," func(",[495,1523,814],{"class":1524},"sHdIc",[495,1526,1220],{"class":509},[495,1528,647],{"class":505},[495,1530,1531],{"class":509},"Context",[495,1533,793],{"class":505},[495,1535,1536],{"class":1524}," t",[495,1538,1539],{"class":505}," *",[495,1541,480],{"class":509},[495,1543,647],{"class":505},[495,1545,1546],{"class":509},"Task",[495,1548,827],{"class":505},[495,1550,1551],{"class":1339}," error",[495,1553,636],{"class":505},[495,1555,1557,1559,1561,1564,1566,1568,1571,1575,1577,1579,1581,1583,1586],{"class":497,"line":1556},26,[495,1558,1411],{"class":641},[495,1560,647],{"class":505},[495,1562,1563],{"class":807},"Printf",[495,1565,811],{"class":505},[495,1567,894],{"class":505},[495,1569,1570],{"class":564},"üdvözlő email küldése: ",[495,1572,1574],{"class":1573},"swJcz","%s",[495,1576,894],{"class":505},[495,1578,793],{"class":505},[495,1580,1536],{"class":641},[495,1582,647],{"class":505},[495,1584,1585],{"class":807},"Payload",[495,1587,1588],{"class":505},"())\n",[495,1590,1592,1594],{"class":497,"line":1591},27,[495,1593,1060],{"class":501},[495,1595,1596],{"class":505}," nil\n",[495,1598,1600],{"class":497,"line":1599},28,[495,1601,1602],{"class":505},"    })\n",[495,1604,1606,1608,1610,1612,1615,1617,1620,1622,1625,1628,1630,1632,1634],{"class":497,"line":1605},29,[495,1607,1029],{"class":501},[495,1609,796],{"class":641},[495,1611,799],{"class":505},[495,1613,1614],{"class":641}," srv",[495,1616,647],{"class":505},[495,1618,1619],{"class":807},"Run",[495,1621,811],{"class":505},[495,1623,1624],{"class":641},"mux",[495,1626,1627],{"class":505},");",[495,1629,796],{"class":641},[495,1631,1019],{"class":505},[495,1633,1022],{"class":505},[495,1635,636],{"class":505},[495,1637,1639,1641,1643,1645,1647,1649],{"class":497,"line":1638},30,[495,1640,1411],{"class":641},[495,1642,647],{"class":505},[495,1644,1416],{"class":807},[495,1646,811],{"class":505},[495,1648,1042],{"class":641},[495,1650,1190],{"class":505},[495,1652,1654],{"class":497,"line":1653},31,[495,1655,1070],{"class":505},[495,1657,1659],{"class":497,"line":1658},32,[495,1660,665],{"class":505},[548,1662,1664],{"id":1663},"merre-tovább","Merre tovább",[742,1666,1667],{},[745,1668,1669,1671,1672,1674,1675,1678,1679,1681,1682,1685],{},[460,1670,57],{"href":58},": az ",[452,1673,871],{}," további opciói, az ",[452,1676,1677],{},"Envelope"," wire-formátum, az OTel trace-propagáció, és a task-típus-elnevezési konvenciók, amikre az ",[460,1680,462],{"href":68}," modul és a kit ",[460,1683,1684],{"href":264},"workere"," épül.",[1687,1688,1689],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":491,"searchDepth":575,"depth":575,"links":1691},[1692,1693,1694,1695,1696],{"id":550,"depth":575,"text":25},{"id":611,"depth":575,"text":204},{"id":780,"depth":575,"text":781},{"id":1111,"depth":575,"text":1112},{"id":1663,"depth":575,"text":1664},"Az asynq + Valkey alapréteg: kapcsolat-config, kliens és task-beküldés, amire az egész async kategória épül.","md",null,{},{"icon":55},{"title":52,"description":1697},"rvF1Yq-9d0Kb-Fn1DQEGsC04hPJGL45wTpG4p3fr-Sk",[1705,1707],{"title":40,"path":41,"stem":42,"description":1706,"icon":43,"children":-1},"Egy végigvitt példaprojekt, a dokumentáció minden kódpéldája erre épül.",{"title":57,"path":58,"stem":59,"description":1708,"icon":47,"children":-1},"Enqueue-opciók, az event-boríték, OTel trace-propagáció a queue-n át, és a task-típus-elnevezési konvenciók.",1785445877257]