ఫన్నెల్స్ & ట్రిగ్గర్లు
ఫన్నెల్ అంటే గ్రాఫ్. రన్ అంటే ఒక వరుస. వెయిట్ అంటే ఒక సమయం.
ఇదే మొత్తం మోడల్, ఈ ఉత్పత్తికి ఉన్న ప్రతి క్లిష్టమైన లక్షణం ఆ మూడు వాక్యాల నుండే వస్తుంది. పనిచేస్తున్న ఫన్నెల్ను సవరించడం సురక్షితం వాటి వల్లే. రీట్రై రెట్టింపు పంపిణీ చేయలేకపోవడం వాటి వల్లే. మంగళవారం అన్సబ్స్క్రైబ్ చేసిన వ్యక్తికి గురువారం ఏమీ వినపడకపోవడం వాటి వల్లే.
అది నడిచినప్పుడు నిజంగా జరిగేది
ఫనల్ను ప్రచురించడం వల్ల మార్పు చేయలేని వెర్షన్ సృష్టించబడుతుంది. ఎవరైనా ప్రవేశిస్తారు, ఒక వరుస కనిపిస్తుంది: ఈ కాంటాక్ట్ కోసం ఒక రన్, ఆ వెర్షన్కు అతుక్కుపెట్టబడి, ప్రస్తుత నోడ్, మేల్కొలుపు సమయం మరియు దాని స్వంత సందర్భాన్ని కలిగి ఉంటుంది.
మేల్కొలుపు సమయం గడిచిన రన్లను ఒక వర్కర్ లీజుకు తీసుకుంటుంది, SKIP LOCKED తో వాటిని క్లెయిమ్ చేస్తుంది, తద్వారా ఇద్దరు వర్కర్లు ఒకే దానిని తీసుకోలేరు. వెయిట్ లేదా టెర్మినల్ వచ్చే వరకు నోడ్లను అమలు చేస్తుంది, తర్వాత తదుపరి మేల్కొలుపు సమయాన్ని రాసి వదిలిపెడుతుంది.
ఒక నోడ్ అనేది రన్, కాంటాక్ట్ మరియు నోడ్పై ఆధారపడిన శుద్ధ ఫంక్షన్ — మరియు దాని ప్రభావాలు రన్ యొక్క ముందడుగుతో ఒకే ట్రాన్సాక్షన్లో కమిట్ అవుతాయి. రీట్రై సురక్షితంగా ఉండటానికి కారణం ఈ ఒక్క లక్షణమే. "పంపు" మరియు "ముందడుగు" మధ్య అర్ధ సెకనులో చంపబడిన వర్కర్ రెండింటినీ లేదా ఏదీ వదిలదు, ఒకదానిని మాత్రం ఎప్పుడూ వదిలిపెట్టదు.
మరియు సమయాన్ని డేటాబేస్ కాకుండా యాప్ సరఫరా చేస్తుంది కాబట్టి, ఇప్పుడు రాయబడిన వరుస ఇప్పుడే గడువులోకి వస్తుంది. డేటాబేస్ గడియారానికి డిఫాల్ట్ అయ్యే షెడ్యూలింగ్ కాలమ్ రాయబడిన క్షణంలో ఇంకా గడువులో లేదు, దాన్ని సృష్టించిన టిక్నే మిస్ అవుతుంది — ఒక సందేశం గంట ఆలస్యం అయ్యే వరకు ఏమీ కనిపించని బగ్ ఇది.
- 1లీజు
wake_at <= now(),FOR UPDATE SKIP LOCKED. లీజులు లేని క్యూ డిఫాల్ట్గా డబుల్-సెండ్ చేస్తుంది. - 2అమలువెయిట్ లేదా టెర్మినల్ వచ్చే వరకు నోడ్లను క్రమంలో అమలు చేయడం. ప్రతి దాని ఒక స్టెప్ను రాస్తుంది: ఏమి నిర్ణయించింది, ఏమి జారీ చేసింది.
- 3కమిట్ చేయండిప్రభావాలు మరియు ముందడుగు, ఒకే ట్రాన్సాక్షన్లో. ఇదే మొత్తం ట్రిక్.
- 4నిద్రతదుపరి
wake_atరాయబడింది. డౌన్స్ట్రీమ్ వరుసలు ఇంకా లేవు, అవసరం లేదు.
ప్రతి కాంటాక్ట్కు, ప్రతి వెర్షన్కు ఒక రన్
పద్నాలుగు ట్రిగ్గర్లు
రన్ను ప్రారంభించగలిగేవి
ఇవి కొన్ని మీరు చేసే పనులు. ఎక్కువ భాగం మీ కస్టమర్ చేసేవి లేదా చేయనివి — మరియు చర్య లేకపోవడం కూడా చర్య ఉన్నంతనే మంచి ట్రిగ్గర్.
వారు వస్తారు
form_submit, list_join, contact_created, tag_added మరియు segment_enter. సెగ్మెంట్ అనేది లైవ్ ప్రిడికేట్, కాబట్టి "సెగ్మెంట్లోకి ప్రవేశిస్తుంది" అనేది మీరు వ్యక్తీకరించగలిగిన ప్రతి "అవ్వడం" — మూడు ఆర్డర్లు, తొంభై రోజుల నిశ్శబ్దత, ఒక పరిమితి మించి ఖర్చు — కవర్ చేస్తుంది.
వారు ఏదైనా చేస్తారు
సైట్ స్నిపెట్ నుండి page_visit, message_opened, link_clicked, booking_made మరియు payment_made. సందేశం తెరవబడటం కూడా కాంటాక్ట్పై ఒక ఈవెంట్, కాబట్టి ఒక ఫనల్ తాను పంపిన చివరి విషయానికి ప్రతిచర్య కోసం వేచి ఉండగలదు.
సమయం, లేదా మీరు
ఆఫ్సెట్తో date_field — పుట్టినరోజు, పునరుద్ధరణ, "ఒక సంవత్సరం పూర్తయినప్పుడు", ముందుగా ఏడు రోజులు లేదా తర్వాత మూడు రోజులు. పునరావృతమయ్యే దానికి schedule. మీరు నిర్ణయించి పంపే ప్రకటనకు manual.
మీ స్వంత యాప్లికేషన్
api_event అనేది మీ స్వంత కోడ్ నుండి మీ స్వంత టోకెన్తో పోస్ట్ చేసే కస్టమ్ ఈవెంట్. మీ ఉత్పత్తికి తెలిసిన ఏదైనా ట్రిగ్గర్ అవుతుంది: యాక్టివేట్ చేయడం, సహోద్యోగిని ఆహ్వానించడం, పరిమితిని తాకడం, రద్దు చేయడం, ఎగుమతి చేయడం. మెయిలింగ్ టూల్ను మీ ఉత్పత్తిలో భాగంగా మార్చేది ఇదే.
పునఃప్రవేశం, ఒకసారి నిర్ణయించబడింది
ఫనల్ పునఃప్రవేశ అనుమతితో ఉంటుందా లేదా లేదా, డేటాబేస్ దీన్ని అమలు చేస్తుంది: మీరు లేదంటే తప్ప, ప్రతి కాంటాక్ట్కు, ప్రతి ఫనల్కు ఒక రన్. ఒకే సెకనులో ఒకే ట్రిగ్గర్ రెండుసార్లు పనిచేసినా యాదృచ్ఛికంగా రెండు రన్లు సృష్టించలేవు.
ప్రవేశ నిబంధనలు
ట్రిగ్గర్ పనిచేసినప్పుడు, ఈ నిర్దిష్ట కాంటాక్ట్ అర్హులా కాదా అని ప్రవేశ స్పెక్ నిర్ణయిస్తుంది — తలుపు ముందు ఒక సెగ్మెంట్ ప్రిడికేట్. మొదటి స్టెప్లో కండిషన్ నోడ్ కంటే చౌకగా ఉంటుంది, మరియు గ్రాఫ్ ఎవరు లోపలికి రావచ్చు అని కాకుండా ఏం జరుగుతుందో దానిపైనే ఉంచుతుంది.

దీన్ని ప్రారంభించగలిగేవి పద్నాలుగు. తర్వాత జరిగేవి పదహారు.
పదహారు యాక్షన్లు మరియు ఏడు ఫ్లో నోడ్లు
ఫనల్ ఏమి చేయగలదు, ఎలా నిర్ణయిస్తుంది
ఏదైనా పంపడం
send_email, send_sms, send_push, send_letter — నాలుగు ఛానెల్స్, ఒకే గ్రాఫ్ — అలాగే తెలియాల్సిన వ్యక్తి మీ సిబ్బంది అయితే notify_team.
కాంటాక్ట్ను మార్చడం
add_tag, remove_tag, add_to_list, remove_from_list, set_field. వెళ్తూ వెళ్తూ ఎవరినైనా గుర్తించడమే తదుపరి ఫనల్ సెగ్మెంట్ను సరళంగా చేస్తుంది.
బయటికి చేరడం
మీకు నచ్చిన దేనికైనా http_request, మీ స్వంత కనెక్టెడ్ ఖాతాపై create_payment, మరియు బుకింగ్ రిసోర్స్పై book_slot. చెల్లింపుదారు మీ వారే; ఎవరూ మా కస్టమర్ కారు.
ఫనల్ల మధ్య కదలడం
enter_funnel మరియు exit_funnel. నాలుగు కాపీలను మార్చ్ నాటికి విడిపోయేలా నిర్వహించడం కంటే, ఒక వెల్కమ్ సీక్వెన్స్ను నిర్మించి నాలుగు చోట్ల నుండి కాల్ చేయండి.
పంపే సమయంలో సృష్టించడం
ai_generate ప్రతి కాంటాక్ట్కు మెర్జ్ వేరియబుల్స్ను నింపుతుంది, మీ కోటాకు లెక్కించబడి, క్రియేటివ్ మరియు కాంటాక్ట్-అట్రిబ్యూట్ హ్యాష్ ద్వారా కాష్ చేయబడుతుంది — లేదంటే మీరు ప్రతి పంపడంలో ప్రతి స్వీకర్తకు చెల్లించాల్సి వస్తుంది.
వేచి ఉండు, బ్రాంచ్, విభజన, కలుపు
wait ఒక వ్యవధిని, ఒక తేదీ-సమయాన్ని, వారానికి సంబంధించిన రోజు మరియు సమయాన్ని, లేదా ఆఫ్సెట్ కలిగిన తేదీ ఫీల్డ్ను తీసుకుంటుంది. condition అనేది అవును మరియు కాదు అనే రెండు శాఖలున్న సెగ్మెంట్ నిబంధన. split అనేది బరువులతో కూడిన A/B/n. join శాఖలను తిరిగి ఒకచోట చేరుస్తుంది.
goal — ముఖ్యమైనది అదే
ఒక లక్ష్యాన్ని చేరుకున్న ప్రతి ఒక్కరికీ అది పరంపరను ముగించేస్తుంది. వారు బుక్ చేశారు, కొనుగోలు చేశారు, స్పందించారు: వారికి మాత్రమే మిగిలిన పరంపర రద్దు చేయబడుతుంది. తిరిగి వచ్చిన మరుసటి రోజే ఎవరికీ "మిమ్మల్ని కోరుకుంటున్నాం" అనే సందేశం వెళ్ళదు, దీన్ని నివారించే నోడ్ ఇదే.
throttle మరియు quiet_hours
Throttle ఒక పెద్ద బ్యాచ్ను నియంత్రిస్తుంది, తక్కువ రేటు పరిమితి ఉన్న మెయిల్బాక్స్ సస్పెన్షన్కు గురికాకుండా. Quiet hours సందేశాన్ని సరైన సమయం వరకు పట్టి ఉంచుతాయి — ఇది సందేశ పొరలో వర్తించబడుతుంది, గ్రాఫ్లోని ప్రతి శాఖలోకి కాపీ చేయబడదు.
పరిగెత్తే ముందు తనిఖీ చేయబడుతుంది
మీకోసం మరియు AI కోసం ఒకే విధమైన నియమాలను వాలిడేటర్ తిరస్కరిస్తుంది
ప్రచురించే ముందు గ్రాఫ్ తనిఖీ చేయబడుతుంది, ఆ తనిఖీ కేవలం సలహా కాదు. ఫన్నెల్ను వ్యక్తి గీసినా లేదా మోడల్ సృష్టించినా ఒకే కోడ్ మార్గం పనిచేస్తుంది, ఇదే సృష్టించిన ఫన్నెల్లు నమ్మదగినవి కావడానికి ఏకైక కారణం.
ఖచ్చితంగా ఒకే ప్రవేశం
రెండు ప్రవేశ నోడ్లు ఉన్నప్పుడు జరిగే అస్పష్టతను జాబితాలోని తప్పు సగానికి తప్పు పరంపర వెళ్ళేవరకు ఎవరూ గమనించరు.
ప్రతి నోడ్ చేరుకోదగినదే కావాలి
ఒంటరిగా మిగిలిన శాఖ అనేది ఒక పొరపాటు, లేదా మీరు వెళుతుందని భావించి కాని వెళ్ళని సందేశం. రెండూ తెలియజేయదగినవే.
ప్రతి చక్రంలో ఒక wait ఉండాలి
లోపల wait లేని లూప్ అనేది మధ్యలో ఒక పంపేజీ ఉన్న అనంత లూప్. ఫన్నెల్కు, సంఘటనకు తేడా ఈ నియమమే.
ప్రతి పంపేజీకి దాని క్రియేటివ్ ఉంది
క్రియేటివ్ మరియు సబ్జెక్ట్ లేని send_email నోడ్ను ప్రచురించలేం. సరైన సబ్జెక్ట్తో, ఖాళీ బాడీతో వెళ్ళే సందేశం ఒక వాస్తవ వైఫల్య రూపం; అది ఇక్కడ తిరస్కరించబడుతుంది.
ప్రతి వేరియబుల్ తెలిసినదే కావాలి
మెర్జ్ వేరియబుల్స్ ప్రచురణ సమయంలో ధ్రువీకరించబడతాయి. {{frist_name}} అనేది మీరు ఎడిట్ చేస్తున్నప్పుడే చూసే టైపో, నలభై వేల ఇన్బాక్స్లలో చేరే "నమస్కారం ," కాదు.
తర్వాత దాన్ని సిమ్యులేట్ చేయండి
ఒక నిజమైన కాంటాక్ట్ను మొత్తం గ్రాఫ్ ద్వారా డ్రై-రన్ చేసి, తీసుకున్న మార్గాన్ని మరియు పంపబడే ప్రతి సందేశాన్ని, దాని రోజుతో సహా చదవండి. బయటికి ఏమీ వెళ్ళదు.
కష్టమైన సందర్భాలు
సరళమైన ఇంజిన్ను విరిచే ఏడు విషయాలు
ఇవి ప్రతి ఒక్కటీ నిర్ధారిత గడియారంతో కూడిన పరీక్షలే, ఎందుకంటే ప్రతి ఒక్కటీ వాస్తవాన్ని కలిసేవరకు పరిపూర్ణంగా సరైదనిపించే ఇంప్లిమెంటేషన్ను విరుస్తాయి.
- 1తనలోకే లూప్ అయ్యే ఫన్నెల్చట్టబద్ధం, సాధారణం, సరిపోయినది — చక్రంలో wait ఉంటే, దీన్ని వాలిడేటర్ ఖచ్చితంగా కోరుతుంది.
- 2మధ్యలో ఎవరో అన్సబ్స్క్రైబ్ చేస్తారుసప్రెషన్ పంపే సమయంలో తనిఖీ చేయబడుతుంది, ఎన్క్యూ చేసే సమయంలో కాదు. ఎన్క్యూ సమయంలో తనిఖీ చేస్తే, wait సమయంలో వైదొలిగిన వారికి మెయిల్ వెళ్తుంది.
- 3పది వేల మంది లోపల ఉన్నప్పుడు ఫన్నెల్ ఎడిట్ చేయబడుతుందివారు ప్రవేశించిన వెర్షన్లోనే చివరి వరకు నడుస్తారు. కొత్తగా వచ్చేవారు కొత్త వెర్షన్లో నడుస్తారు.
- 4ఒకే సెకనులో ఒకే ట్రిగ్గర్ రెండుసార్లు పనిచేస్తుందిఒకే రన్, ఎందుకంటే యూనిక్నెస్ అనేది తనిఖీ తర్వాత ఇన్సర్ట్ కాదు, ఒక ఇండెక్స్.
- 5రన్ మధ్యలో ఒక కాంటాక్ట్ డిలీట్ చేయబడతారురన్ ముగుస్తుంది. ఇప్పటికీ ఎవరో ఒకరి పేరుతో పరంపర మిగిలిపోయే ఎరేజర్ అనేది ఎరేజర్ కాదు.
- 6ఒక wait డేలైట్-సేవింగ్ మార్పును దాటుతుంది"ఉదయం తొమ్మిది గంటలకు మూడు రోజులు" అంటే గడియారం మార్పుకు ఇరువైపులా ఉదయం తొమ్మిది గంటలే అర్థం.
- 7పంపడం మరియు ముందుకు సాగడం మధ్యలో ఒక వర్కర్ చనిపోతుందిఎఫెక్ట్స్ మరియు అడ్వాన్స్ ఒకే ట్రాన్సాక్షన్. రెండూ జరిగాయి లేదా రెండూ జరగలేదు.
నిర్ధారక గడియారంప్రతి పరీక్ష ఒక సహేతుకమైన అమలును విఫలం చేస్తుంది
ప్రచారాలు మరొక సగం
ఒక ఫనల్ స్పందిస్తుంది. ప్రచారం అనేది ఒక్కసారి మాత్రమే జరిగే ప్రసారం: ఒక ప్రేక్షకవర్గం, ఒక కార్యక్రమ పట్టిక, ఒక నియంత్రణ, మరియు ఒక పంపిణీ. ఇది భిన్నమైన ఆకారం కలది, ఒకే నోడ్ కలిగిన ఫనల్గా నటించడం కంటే ఉద్దేశపూర్వకంగా వేరుగా ఉంచబడింది.
రెండు నియమాలు దీన్ని సురక్షితం చేస్తాయి. ఒక ప్రేక్షకవర్గం ఒక్కసారి మాత్రమే రూపొందించబడుతుంది మరియు రెండోసారి నడపడానికి నిరాకరిస్తుంది — మళ్లీ గుర్తిస్తే పంపిణీ ప్రారంభమైన తర్వాత చేరిన వారందరినీ నిశ్శబ్దంగా చేర్చేస్తుంది, మరియు డీడ్యూప్లికేషన్ సూచిక అది సృష్టించిన నకిలీలను నివారించడం ద్వారా దాన్ని దాచిపెడుతుంది. మరియు లెక్కలు డెలివరీ సంఘటనల నుండి మళ్లీ లెక్కించబడతాయి, అక్కడే పెంచడం జరగదు, కాబట్టి పునఃప్రయత్నం చేసిన వెబ్హుక్ ఒక నివేదికను ఉబ్బించలేకపోతుంది.
ఏది వాడాలి: ఒక వ్యక్తి చేసిన పని వల్ల జరిగితే అది ఫనల్. మీరు ఒక మంగళవారం నిర్ణయించిన దాని వల్ల జరిగితే అది ప్రచారం. రెండోదాన్ని మొదటి ఆకారంలోకి బలవంతంగా పోగుట వల్ల అసాధారణంగా ఎక్కువ మార్కెటింగ్ ఆటోమేషన్ తప్పుగా జరుగుతుంది.